Class: Validatable::ValidationBase

Inherits:
Object
  • Object
show all
Defined in:
lib/data_mapper/validatable_extensions/validation_base.rb

Constant Summary collapse

DEFAULT_EVENTS =
[:validate, :create, :save, :update]

Instance Method Summary collapse

Constructor Details

#initialize(klass, attribute, options = {}) ⇒ ValidationBase

Returns a new instance of ValidationBase.

Raises:

  • (ArgumentError)


7
8
9
10
11
12
# File 'lib/data_mapper/validatable_extensions/validation_base.rb', line 7

def initialize(klass, attribute, options={})
  events = [options.delete(:on)].flatten.compact + [options.delete(:event)].flatten.compact
  raise ArgumentError.new("Events must be one of #{DEFAULT_EVENTS.inspect}") unless (events & DEFAULT_EVENTS).size == events.size
  options[:groups] ||= events unless events.empty? ### <- Danger will robinson
  old_init(klass, attribute, options)
end

Instance Method Details

#humanized_attributeObject



14
15
16
# File 'lib/data_mapper/validatable_extensions/validation_base.rb', line 14

def humanized_attribute
  @humanized_attribute ||= Inflector.humanize(self.attribute.to_s)
end

#old_initObject



3
# File 'lib/data_mapper/validatable_extensions/validation_base.rb', line 3

alias_method :old_init, :initialize