Module: Interactor::Validation::Validates::ClassMethods
- Defined in:
- lib/interactor/validation/validates.rb
Instance Method Summary collapse
- #configure {|config| ... } ⇒ Object
- #inherited(subclass) ⇒ Object
- #validates(param_name, **rules) ⇒ Object
- #validation_halt(value) ⇒ Object
- #validation_mode(value) ⇒ Object
Instance Method Details
#configure {|config| ... } ⇒ Object
66 67 68 69 70 71 72 73 74 75 |
# File 'lib/interactor/validation/validates.rb', line 66 def configure # Ensure we have our own copy of config before modifying begin self._validation_config = _validation_config.dup if _validation_config.equal?(superclass._validation_config) rescue StandardError false end config = ConfigurationProxy.new(_validation_config) yield(config) end |
#inherited(subclass) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/interactor/validation/validates.rb', line 46 def inherited(subclass) super # Ensure child class gets its own copy of config, merging with parent's config subclass._validation_config = _validation_config.dup # Ensure child class gets its own copy of validations subclass._validations = _validations.dup end |
#validates(param_name, **rules) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/interactor/validation/validates.rb', line 54 def validates(param_name, **rules, &) # Ensure we have our own copy of validations when first modifying begin self._validations = _validations.dup if _validations.equal?(superclass._validations) rescue StandardError false end _validations[param_name] ||= {} _validations[param_name].merge!(rules) _validations[param_name][:_nested] = build_nested_rules(&) if block_given? end |
#validation_halt(value) ⇒ Object
77 78 79 80 81 82 83 84 85 |
# File 'lib/interactor/validation/validates.rb', line 77 def validation_halt(value) # Ensure we have our own copy of config before modifying begin self._validation_config = _validation_config.dup if _validation_config.equal?(superclass._validation_config) rescue StandardError false end _validation_config[:halt] = value end |
#validation_mode(value) ⇒ Object
87 88 89 90 91 92 93 94 95 |
# File 'lib/interactor/validation/validates.rb', line 87 def validation_mode(value) # Ensure we have our own copy of config before modifying begin self._validation_config = _validation_config.dup if _validation_config.equal?(superclass._validation_config) rescue StandardError false end _validation_config[:mode] = value end |