Module: GroupedValidations::ClassMethods

Defined in:
lib/monkey_forms/vendor/grouped_validations/lib/grouped_validations.rb

Instance Method Summary collapse

Instance Method Details

#_define_group_validation_callbacks(group) ⇒ Object



31
32
33
# File 'lib/monkey_forms/vendor/grouped_validations/lib/grouped_validations.rb', line 31

def _define_group_validation_callbacks(group)
  define_callbacks :"validate_#{group}", :scope => 'validate'
end

#validate(*args, &block) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/monkey_forms/vendor/grouped_validations/lib/grouped_validations.rb', line 14

def validate(*args, &block)
  return super unless @_current_validation_group

  options = args.extract_options!.dup
  unless @_current_validation_group[:with_options]
    options.reverse_merge!(@_current_validation_group.except(:name)) 
  end

  if options.key?(:on)
    options = options.dup
    options[:if] = Array.wrap(options[:if])
    options[:if] << "validation_context == :#{options[:on]}"
  end
  args << options
  set_callback(:"validate_#{@_current_validation_group[:name]}", *args, &block)
end