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.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/conditional_validation/validation_accessor.rb', line 20 def validation_accessor(*accessors) attr_accessor *accessors.map { |accessor| "_#{accessor}_validation_accessor" } accessors.each do |accessor| define_method "enable_#{accessor}_validation" do self.send("_#{accessor}_validation_accessor=", true) self end define_method "disable_#{accessor}_validation" do self.send("_#{accessor}_validation_accessor=", false) self end define_method "validate_on_#{accessor}?" do !!self.send("_#{accessor}_validation_accessor") end end end |