Parent

Class/Module Index [+]

Quicksearch

DataMapper::Validations::PresenceValidator

@author Guy van den Berg @since 0.9

Public Instance Methods

call(target) click to toggle source
# File lib/dm-validations/validators/required_field_validator.rb, line 7
def call(target)
  value    = target.validation_property_value(field_name)
  property = get_resource_property(target, field_name)
  return true if present?(value, property)

  error_message = @options[:message] || default_error(property)
  add_error(target, error_message, field_name)

  false
end

Protected Instance Methods

boolean_type?(property) click to toggle source

Is the property a boolean property?

@return [Boolean]

Returns true for Boolean, ParanoidBoolean, TrueClass and other
properties. Returns false for other property types or for
non-properties.
# File lib/dm-validations/validators/required_field_validator.rb, line 38
def boolean_type?(property)
  property ? property.primitive == TrueClass : false
end
default_error(property) click to toggle source
# File lib/dm-validations/validators/required_field_validator.rb, line 27
def default_error(property)
  actual = boolean_type?(property) ? :nil : :blank
  ValidationErrors.default_error_message(actual, field_name)
end
present?(value, property) click to toggle source

Boolean property types are considered present if non-nil. Other property types are considered present if non-blank. Non-properties are considered present if non-blank.

# File lib/dm-validations/validators/required_field_validator.rb, line 23
def present?(value, property)
  boolean_type?(property) ? !value.nil? : !DataMapper::Ext.blank?(value)
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.