module BazaModels::Model::Validations::ClassMethods
Public Instance Methods
__validators()
click to toggle source
# File lib/baza_models/model/validations.rb, line 92 def __validators @validators ||= {} end
validate_shortcut(type, args)
click to toggle source
# File lib/baza_models/model/validations.rb, line 79 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)
click to toggle source
# File lib/baza_models/model/validations.rb, line 43 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)
click to toggle source
# File lib/baza_models/model/validations.rb, line 59 def validates_confirmation_of(*args) validate_shortcut(:confirmation, args) end
validates_format_of(*args)
click to toggle source
# File lib/baza_models/model/validations.rb, line 63 def validates_format_of(*args) validate_shortcut(:format, args) end
validates_length_of(*args)
click to toggle source
# File lib/baza_models/model/validations.rb, line 67 def validates_length_of(*args) validate_shortcut(:length, args) end
validates_presence_of(*args)
click to toggle source
# File lib/baza_models/model/validations.rb, line 71 def validates_presence_of(*args) validate_shortcut(:presence, args) end
validates_uniqueness_of(*args)
click to toggle source
# File lib/baza_models/model/validations.rb, line 75 def validates_uniqueness_of(*args) validate_shortcut(:uniqueness, args) end