Sha256: 4412c4b7ecc3376cbb7742f20e04cf09016cf29634752a09b734cd8dcd2140a2
Contents?: true
Size: 1.04 KB
Versions: 3
Compression:
Stored size: 1.04 KB
Contents
module SimpleForm module Helpers module Validators private def has_validators? attribute_name && object.class.respond_to?(:validators_on) end def attribute_validators object.class.validators_on(attribute_name) end def reflection_validators reflection ? object.class.validators_on(reflection.name) : [] end def valid_validator?(validator) !conditional_validators?(validator) && action_validator_match?(validator) end def conditional_validators?(validator) validator.options.include?(:if) || validator.options.include?(:unless) end def action_validator_match?(validator) return true if !validator.options.include?(:on) case validator.options[:on] when :save true when :create !object.persisted? when :update object.persisted? end end def find_validator(validator) attribute_validators.find { |v| validator === v } end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
simple_form-1.5.2 | lib/simple_form/helpers/validators.rb |
simple_form-1.5.1 | lib/simple_form/helpers/validators.rb |
simple_form-1.5.0 | lib/simple_form/helpers/validators.rb |