Module: Validation::Rules
- Included in:
- Validator
- Defined in:
- lib/validation/rules.rb
Instance Method Summary collapse
- #validates(field, callback, message) ⇒ Object
- #validates_confirmation_of(field, message = '') ⇒ Object
- #validates_format_of(field, regex, message = '') ⇒ Object
- #validates_greather_or_equal_then(field, number, message = '') ⇒ Object
- #validates_greather_then(field, number, message = '') ⇒ Object
- #validates_length_of_within(field, min, max, message = '') ⇒ Object
- #validates_less_or_equal_then(field, number, message = '') ⇒ Object
- #validates_less_then(field, number, message = '') ⇒ Object
- #validates_numericality_of(field, message = '') ⇒ Object
- #validates_presence_of(field, message = '') ⇒ Object
Instance Method Details
#validates(field, callback, message) ⇒ Object
4 5 6 |
# File 'lib/validation/rules.rb', line 4 def validates(field, callback, ) @rules << {:callback => callback, :message => Error.new(field, )} end |
#validates_confirmation_of(field, message = '') ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/validation/rules.rb', line 19 def validates_confirmation_of(field, ='') validates_presence_of(field, ) callback = lambda do |data| field_confirmation = data.fetch("#{field}_confirmation", nil) if field_confirmation == data[field] true else false end end validates(field, callback, ) end |
#validates_format_of(field, regex, message = '') ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/validation/rules.rb', line 33 def validates_format_of(field, regex, ='') validates_presence_of(field, ) callback = lambda do |data| if data[field].to_s =~ regex true else false end end validates(field, callback, ) end |
#validates_greather_or_equal_then(field, number, message = '') ⇒ Object
63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/validation/rules.rb', line 63 def validates_greather_or_equal_then(field, number, ='') validates_numericality_of(field, ) callback = lambda do |data| if data[field] >= number true else false end end validates(field, callback, ) end |
#validates_greather_then(field, number, message = '') ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/validation/rules.rb', line 51 def validates_greather_then(field, number, ='') validates_numericality_of(field, ) callback = lambda do |data| if data[field] > number true else false end end validates(field, callback, ) end |
#validates_length_of_within(field, min, max, message = '') ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/validation/rules.rb', line 99 def validates_length_of_within(field, min, max, ='') validates_presence_of(field, ) callback = lambda do |data| length = data[field].length if length >= min && length <= max true else false end end validates(field, callback, ) end |
#validates_less_or_equal_then(field, number, message = '') ⇒ Object
87 88 89 90 91 92 93 94 95 96 97 |
# File 'lib/validation/rules.rb', line 87 def validates_less_or_equal_then(field, number, ='') validates_numericality_of(field, ) callback = lambda do |data| if data[field] <= number true else false end end validates(field, callback, ) end |
#validates_less_then(field, number, message = '') ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/validation/rules.rb', line 75 def validates_less_then(field, number, ='') validates_numericality_of(field, ) callback = lambda do |data| if data[field] < number true else false end end validates(field, callback, ) end |
#validates_numericality_of(field, message = '') ⇒ Object
46 47 48 49 |
# File 'lib/validation/rules.rb', line 46 def validates_numericality_of(field, ='') validates_presence_of(field, ) validates_format_of(field, /^\d+(\.\d+)?$/, ) end |
#validates_presence_of(field, message = '') ⇒ Object
8 9 10 11 12 13 14 15 16 17 |
# File 'lib/validation/rules.rb', line 8 def validates_presence_of(field, ='') callback = lambda do |data| if data.has_key? field true else false end end validates(field, callback, ) end |