Module: ActiveModel::Validations::Reflection::Helpers
- Defined in:
- lib/active_model/validations/reflection.rb
Overview
:nodoc:
Class Method Summary collapse
- .evaluate_condition(condition, instance) ⇒ Object
- .flat_validator?(validator) ⇒ Boolean
- .relevant_validator?(validator, instance) ⇒ Boolean
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
12 13 14 |
# File 'lib/active_model/validations/reflection.rb', line 12 def flat_validator?(validator) !(validator..key?(:if) || validator..key?(:unless)) end |
.relevant_validator?(validator, instance) ⇒ Boolean
16 17 18 19 20 21 |
# File 'lib/active_model/validations/reflection.rb', line 16 def relevant_validator?(validator, instance) condition = validator..key?(:if) ? validator.[:if] : validator.[:unless] result = evaluate_condition(condition, instance) (validator..key?(:unless) ? !result : !!result) end |