Class: Dryv::Errors
- Inherits:
-
Object
- Object
- Dryv::Errors
- Defined in:
- lib/dryv/errors.rb
Instance Attribute Summary collapse
-
#messages ⇒ Object
readonly
Returns the value of attribute messages.
Instance Method Summary collapse
- #add(key, message) ⇒ Object
- #any? ⇒ Boolean
- #clone ⇒ Object
- #first_message ⇒ Object
- #has_key?(key) ⇒ Boolean
-
#initialize(messages = {}) ⇒ Errors
constructor
A new instance of Errors.
- #merge!(error, parent_key = nil) ⇒ Object
Constructor Details
#initialize(messages = {}) ⇒ Errors
Returns a new instance of Errors.
6 7 8 |
# File 'lib/dryv/errors.rb', line 6 def initialize( = {}) @messages = end |
Instance Attribute Details
#messages ⇒ Object (readonly)
Returns the value of attribute messages.
4 5 6 |
# File 'lib/dryv/errors.rb', line 4 def @messages end |
Instance Method Details
#add(key, message) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/dryv/errors.rb', line 11 def add(key, ) keys = key.to_s.split('.').map!(&:to_sym) old = .dig(*keys[0...-1]) rescue {} old = {} unless old.is_a?(Hash) new = keys[0...-1].inject() { |h, k| h[k] ||= {} rescue h = {}; h[k] = {} } new[keys.last] = [] unless new.is_a?(Array) new[keys.last] << new.merge!(old) end |
#any? ⇒ Boolean
30 31 32 |
# File 'lib/dryv/errors.rb', line 30 def any? .any? end |
#clone ⇒ Object
46 47 48 |
# File 'lib/dryv/errors.rb', line 46 def clone self.class.new(.clone) end |
#first_message ⇒ Object
41 42 43 |
# File 'lib/dryv/errors.rb', line 41 def (.values.first).first end |
#has_key?(key) ⇒ Boolean
35 36 37 38 |
# File 'lib/dryv/errors.rb', line 35 def has_key?(key) keys = key.to_s.split('.').map!(&:to_sym) keys.size == 1 ? [keys.first].present? : (.dig(*keys[0...-1])[keys.last].present? rescue false) end |
#merge!(error, parent_key = nil) ⇒ Object
22 23 24 25 26 27 |
# File 'lib/dryv/errors.rb', line 22 def merge!(error, parent_key = nil) hash_to_dots(error., {}, parent_key).each do |key, | .each { || add(key, ) } end end |