Module: ActiveEvent::Validations::RegisterMethods
- Defined in:
- lib/active_event/validations.rb
Instance Method Summary collapse
- #skip_validate(*args) ⇒ Object
- #skip_validates(*attributes) ⇒ Object
- #skip_validates_with(*args) ⇒ Object
- #validation_target(target) ⇒ Object
Instance Method Details
#skip_validate(*args) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/active_event/validations.rb', line 12 def skip_validate(*args) = args. if .key?(:on) = .dup [:if] = Array([:if]) [:if].unshift("validation_context == :#{[:on]}") end args << skip_callback(:validate, *args) end |
#skip_validates(*attributes) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/active_event/validations.rb', line 23 def skip_validates(*attributes) defaults = attributes..dup validations = defaults.slice!(*_validates_default_keys) return if attributes.empty? return if validations.empty? defaults[:attributes] = attributes validations.each do |key, | next unless key = "#{key.to_s.camelize}Validator" begin validator = key.include?('::') ? key.constantize : const_get(key) rescue NameError raise ArgumentError, "Unknown validator: '#{key}'" end skip_validates_with(validator, defaults.merge(())) end end |
#skip_validates_with(*args) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/active_event/validations.rb', line 46 def skip_validates_with(*args) = args. args.each do |klass| validator = klass.new() if validator.respond_to?(:attributes) && !validator.attributes.empty? validator.attributes.each do |attribute| _validators[attribute.to_sym].reject! { |x| x.instance_of? klass } if _validators.key? attribute.to_sym end else _validators[nil].reject! { |x| x.instance_of? klass } end skip_validate(validator, ) end end |
#validation_target(target) ⇒ Object
63 64 65 |
# File 'lib/active_event/validations.rb', line 63 def validation_target(target) ValidationsRegistry.register self, target end |