Module: Statinize::Attribute::Options
- Defined in:
- lib/statinize/attribute/options.rb,
lib/statinize/attribute/options/conditions.rb
Defined Under Namespace
Classes: Conditions
Class Method Summary collapse
Instance Method Summary collapse
- #all_validators_defined? ⇒ Boolean
- #should_cast? ⇒ Boolean
- #should_validate?(instance) ⇒ Boolean
- #validators ⇒ Object
Class Method Details
.extended(instance) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/statinize/attribute/options.rb', line 4 def self.extended(instance) raise "Cannot extend #{instance}" unless instance.is_a? Hash instance.transform_values! do |value| if %i[if unless].include?(instance.key(value)) Conditions.new(Array(value)) else value end end end |
Instance Method Details
#all_validators_defined? ⇒ Boolean
21 22 23 24 |
# File 'lib/statinize/attribute/options.rb', line 21 def all_validators_defined? validators_class_names .all? { |validator, _| Object.const_defined? validator } end |
#should_cast? ⇒ Boolean
26 27 28 |
# File 'lib/statinize/attribute/options.rb', line 26 def should_cast? key?(:type) && public_send(:[], :cast) end |
#should_validate?(instance) ⇒ Boolean
30 31 32 33 34 35 36 |
# File 'lib/statinize/attribute/options.rb', line 30 def should_validate?(instance) return false if validators.empty? return true unless key?(:unless) || key?(:if) return false if key?(:unless) && !unless_passed?(instance) if_passed?(instance) end |