Module: ActiveModel::Validations::Reflection::Helpers

Defined in:
lib/active_model/validations/reflection.rb

Overview

:nodoc:

Class Method Summary collapse

Class Method Details

.evaluate_condition(condition, instance) ⇒ Object



23
24
25
26
27
28
# File 'lib/active_model/validations/reflection.rb', line 23

def evaluate_condition(condition, instance)
  return condition.call(instance) if condition.respond_to?(:call)
  return instance.send(condition) if condition.is_a?(::Symbol) && instance.respond_to?(condition)

  condition
end

.flat_validator?(validator) ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/active_model/validations/reflection.rb', line 12

def flat_validator?(validator)
  !(validator.options.key?(:if) || validator.options.key?(:unless))
end

.relevant_validator?(validator, instance) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
21
# File 'lib/active_model/validations/reflection.rb', line 16

def relevant_validator?(validator, instance)
  condition = validator.options.key?(:if) ? validator.options[:if] : validator.options[:unless]
  result = evaluate_condition(condition, instance)

  (validator.options.key?(:unless) ? !result : !!result)
end