Module: DataMapperPropertyValidations::ClassMethods

Defined in:
lib/dm-property-validations.rb

Instance Method Summary collapse

Instance Method Details

#validates_property(property_name, method_name = nil, &block) ⇒ Object

see spec for usage



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/dm-property-validations.rb', line 13

def validates_property property_name, method_name = nil, &block
  validates_with_block property_name do
    response = method_name.nil? ? instance_eval(&block) : send(method_name)
    case response
    when String
      [false, "#{ property_name.to_s.capitalize } #{ response }"]
    when false
      [false, "#{ property_name.to_s.capitalize } is not valid"]
    else
      true
    end
  end
end