Class: InputSanitizer::V2::ErrorCollection
- Inherits:
-
Object
- Object
- InputSanitizer::V2::ErrorCollection
- Includes:
- Enumerable
- Defined in:
- lib/input_sanitizer/v2/error_collection.rb
Instance Attribute Summary collapse
-
#error_codes ⇒ Object
readonly
Returns the value of attribute error_codes.
-
#messages ⇒ Object
readonly
Returns the value of attribute messages.
Instance Method Summary collapse
- #[](attribute) ⇒ Object
- #add(attribute, code = :invalid, options = {}) ⇒ Object
- #each ⇒ Object
- #empty? ⇒ Boolean
-
#initialize(errors) ⇒ ErrorCollection
constructor
A new instance of ErrorCollection.
- #size ⇒ Object (also: #length, #count)
- #to_hash ⇒ Object (also: #full_messages)
Constructor Details
#initialize(errors) ⇒ ErrorCollection
Returns a new instance of ErrorCollection.
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/input_sanitizer/v2/error_collection.rb', line 6 def initialize(errors) @error_codes = {} @messages = {} @error_details = {} errors.each do |error| (@error_codes[error.field] ||= []) << error.code (@messages[error.field] ||= []) << error. error_value_hash = { :value => error.value } (@error_details[error.field] ||= []) << error_value_hash end end |
Instance Attribute Details
#error_codes ⇒ Object (readonly)
Returns the value of attribute error_codes.
4 5 6 |
# File 'lib/input_sanitizer/v2/error_collection.rb', line 4 def error_codes @error_codes end |
#messages ⇒ Object (readonly)
Returns the value of attribute messages.
4 5 6 |
# File 'lib/input_sanitizer/v2/error_collection.rb', line 4 def @messages end |
Instance Method Details
#[](attribute) ⇒ Object
19 20 21 |
# File 'lib/input_sanitizer/v2/error_collection.rb', line 19 def [](attribute) @error_codes[attribute] end |
#add(attribute, code = :invalid, options = {}) ⇒ Object
39 40 41 42 43 |
# File 'lib/input_sanitizer/v2/error_collection.rb', line 39 def add(attribute, code = :invalid, = {}) (@error_codes[attribute] ||= []) << code (@messages[attribute] ||= []) << .delete(:messages) (@error_details[attribute] ||= []) << end |
#each ⇒ Object
23 24 25 26 27 |
# File 'lib/input_sanitizer/v2/error_collection.rb', line 23 def each @error_codes.each_key do |attribute| self[attribute].each { |error| yield attribute, error } end end |
#empty? ⇒ Boolean
35 36 37 |
# File 'lib/input_sanitizer/v2/error_collection.rb', line 35 def empty? @error_codes.empty? end |
#size ⇒ Object Also known as: length, count
29 30 31 |
# File 'lib/input_sanitizer/v2/error_collection.rb', line 29 def size @error_codes.size end |
#to_hash ⇒ Object Also known as: full_messages
45 46 47 |
# File 'lib/input_sanitizer/v2/error_collection.rb', line 45 def to_hash .dup end |