Module: AttrValidator::Validator::ClassMethods
- Defined in:
- lib/attr_validator/validator.rb
Instance Method Summary collapse
- #validate(method_name = nil, &block) ⇒ Object
- #validate_associated(association_name, options) ⇒ Object
- #validates(*args) ⇒ Object
Instance Method Details
#validate(method_name = nil, &block) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/attr_validator/validator.rb', line 29 def validate(method_name = nil, &block) self.custom_validations ||= [] if block_given? self.custom_validations << block elsif method_name AttrValidator::ArgsValidator.is_symbol!(method_name, "validate method name") self.custom_validations << method_name else raise ArgumentError, "method name or block should be given for validate" end end |
#validate_associated(association_name, options) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/attr_validator/validator.rb', line 19 def validate_associated(association_name, ) AttrValidator::ArgsValidator.not_nil!([:validator], :validator) AttrValidator::ArgsValidator.is_class_or_symbol!([:validator], :validator) AttrValidator::ArgsValidator.is_symbol_or_block!([:if], :if) if [:if] AttrValidator::ArgsValidator.is_symbol_or_block!([:unless], :unless) if [:unless] self.associated_validations ||= {} self.associated_validations[association_name] = end |
#validates(*args) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/attr_validator/validator.rb', line 9 def validates(*args) = args.pop AttrValidator::ArgsValidator.is_hash!(, "last argument") self.validations ||= {} args.each do |attr_name| add_validations(attr_name, ) end end |