Class: Mongomatic::Errors
- Inherits:
-
Object
- Object
- Mongomatic::Errors
- Defined in:
- lib/mongomatic/errors.rb
Instance Method Summary collapse
- #<<(error_array) ⇒ Object
- #[](field) ⇒ Object
- #add(field, message) ⇒ Object
- #add_to_base(message) ⇒ Object
- #any? ⇒ Boolean
- #count ⇒ Object
- #empty? ⇒ Boolean
- #full_messages ⇒ Object
-
#initialize ⇒ Errors
constructor
A new instance of Errors.
- #on(field) ⇒ Object
- #remove(field, message) ⇒ Object
- #to_hash ⇒ Object
Constructor Details
#initialize ⇒ Errors
Returns a new instance of Errors.
3 4 5 |
# File 'lib/mongomatic/errors.rb', line 3 def initialize @errors = HashWithIndifferentAccess.new end |
Instance Method Details
#<<(error_array) ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/mongomatic/errors.rb', line 12 def <<(error_array) error_array = Array(error_array) if error_array.size == 2 add error_array[0], error_array[1] else add_to_base error_array[0] end end |
#[](field) ⇒ Object
56 57 58 |
# File 'lib/mongomatic/errors.rb', line 56 def [](field) @errors[field] || [] end |
#add(field, message) ⇒ Object
7 8 9 10 |
# File 'lib/mongomatic/errors.rb', line 7 def add(field, ) @errors[field] ||= [] @errors[field] << end |
#add_to_base(message) ⇒ Object
21 22 23 24 |
# File 'lib/mongomatic/errors.rb', line 21 def add_to_base() @errors["base"] ||= [] @errors["base"] << end |
#any? ⇒ Boolean
35 36 37 |
# File 'lib/mongomatic/errors.rb', line 35 def any? !empty? end |
#count ⇒ Object
39 40 41 |
# File 'lib/mongomatic/errors.rb', line 39 def count @errors.values.inject(0) { |sum, errors| sum += errors.size } end |
#empty? ⇒ Boolean
31 32 33 |
# File 'lib/mongomatic/errors.rb', line 31 def empty? !(@errors.any? { |k,v| v && !v.empty? }) end |
#full_messages ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/mongomatic/errors.rb', line 43 def = [] @errors.each do |field, | .each do || msg = [] msg << field unless field == "base" msg << << msg.join(" ") end end end |
#on(field) ⇒ Object
64 65 66 |
# File 'lib/mongomatic/errors.rb', line 64 def on(field) self[field] end |
#remove(field, message) ⇒ Object
26 27 28 29 |
# File 'lib/mongomatic/errors.rb', line 26 def remove(field, ) @errors[field] ||= [] @errors[field].delete end |
#to_hash ⇒ Object
60 61 62 |
# File 'lib/mongomatic/errors.rb', line 60 def to_hash @errors end |