Module: ConditionalValidation::ValidationAccessor::ClassMethods
- Defined in:
- lib/conditional_validation/validation_accessor.rb
Instance Method Summary collapse
-
#validation_accessor(*accessors) ⇒ Object
Macro method for defining an attr_accessor and various enable/disable/predicate methods that wrap the attr_acessor for determining when to run a set of validation on an ActiveRecord model.
Instance Method Details
#validation_accessor(*accessors) ⇒ Object
Macro method for defining an attr_accessor and various enable/disable/predicate methods that wrap the attr_acessor for determining when to run a set of validation on an ActiveRecord model.
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/conditional_validation/validation_accessor.rb', line 22 def validation_accessor(*accessors) attr_accessor *accessors.map { |accessor| "_#{accessor}_validation_accessor" } accessors.each do |accessor| class_eval " def enable_\#{accessor}_validation\n self._\#{accessor}_validation_accessor = true\n self\n end\n\n def disable_\#{accessor}_validation\n self._\#{accessor}_validation_accessor = false\n self\n end\n\n def validate_on_\#{accessor}?\n !!_\#{accessor}_validation_accessor\n end\n METHODS\n end\nend\n", __FILE__, __LINE__ + 1 |