Module: BazaModels::Model::Validations::ClassMethods
- Defined in:
- lib/baza_models/model/validations.rb
Instance Method Summary collapse
- #__validators ⇒ Object
- #validate_shortcut(type, args) ⇒ Object
- #validates(*attribute_names, args) ⇒ Object
- #validates_confirmation_of(*args) ⇒ Object
- #validates_format_of(*args) ⇒ Object
- #validates_length_of(*args) ⇒ Object
- #validates_presence_of(*args) ⇒ Object
- #validates_uniqueness_of(*args) ⇒ Object
Instance Method Details
#__validators ⇒ Object
91 92 93 |
# File 'lib/baza_models/model/validations.rb', line 91 def __validators @validators ||= {} end |
#validate_shortcut(type, args) ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/baza_models/model/validations.rb', line 78 def validate_shortcut(type, args) if args.last.is_a?(Hash) before_opts = args.pop opts = {type => before_opts} opts[:if] = before_opts.delete(:if) if before_opts.key?(:if) else opts = {type => true} end validates(*args, opts) end |
#validates(*attribute_names, args) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/baza_models/model/validations.rb', line 42 def validates(*attribute_names, args) special_args = { if: args.delete(:if) } attribute_names.each do |attribute_name| args.each do |validator_name, _validator_args| validator_camel_name = StringCases.snake_to_camel(validator_name) class_name = "#{validator_camel_name}Validator" __validators[attribute_name] ||= [] __validators[attribute_name] << BazaModels::Validators.const_get(class_name).new(attribute_name, args.merge(special_args)) end end end |
#validates_confirmation_of(*args) ⇒ Object
58 59 60 |
# File 'lib/baza_models/model/validations.rb', line 58 def validates_confirmation_of(*args) validate_shortcut(:confirmation, args) end |
#validates_format_of(*args) ⇒ Object
62 63 64 |
# File 'lib/baza_models/model/validations.rb', line 62 def validates_format_of(*args) validate_shortcut(:format, args) end |
#validates_length_of(*args) ⇒ Object
66 67 68 |
# File 'lib/baza_models/model/validations.rb', line 66 def validates_length_of(*args) validate_shortcut(:length, args) end |
#validates_presence_of(*args) ⇒ Object
70 71 72 |
# File 'lib/baza_models/model/validations.rb', line 70 def validates_presence_of(*args) validate_shortcut(:presence, args) end |
#validates_uniqueness_of(*args) ⇒ Object
74 75 76 |
# File 'lib/baza_models/model/validations.rb', line 74 def validates_uniqueness_of(*args) validate_shortcut(:uniqueness, args) end |