1
在自定義的DataMapper設置器中,我想檢查我設置的值是否有效。我可以檢查單個DataMapper屬性的有效性嗎?
例如:
class ToastMitten
include DataMapper::Resource
property :id, Serial
property :wearer, Enum['Chuck Norris', 'Jon Skeet']
property :first_worn_at, DateTime
def wearer=(name)
super
if wearer.valid? # How can I do this?
first_worn_at = Time.now
end
end
end
t = ToastMitten.new
t.wearer = 'Nathan Long' # invalid value; do NOT set first_worn_at
t.wearer = 'Jon Skeet' # valid value; set first_worn_at
我可以查看單個屬性這樣的有效性,而不對對象本身調用valid?
,並通過所有的錯誤找?