class SimpleParams::NestedErrors
Attributes
base[R]
Public Class Methods
new(base)
click to toggle source
Calls superclass method
# File lib/simple_params/nested_errors.rb, line 7 def initialize(base) super(base) @base = base end
Public Instance Methods
[](attribute)
click to toggle source
Calls superclass method
# File lib/simple_params/nested_errors.rb, line 20 def [](attribute) super(attribute) end
[]=(attribute, error)
click to toggle source
# File lib/simple_params/nested_errors.rb, line 24 def []=(attribute, error) add_error_to_attribute(attribute, error) end
add(attribute, message = :invalid, options = {})
click to toggle source
# File lib/simple_params/nested_errors.rb, line 28 def add(attribute, message = :invalid, options = {}) message = normalize_message(attribute, message, options) if exception = options[:strict] exception = ActiveModel::StrictValidationFailed if exception == true raise exception, full_message(attribute, message) end add_error_to_attribute(attribute, message) end
array?()
click to toggle source
# File lib/simple_params/nested_errors.rb, line 12 def array? @base.array? end
clear()
click to toggle source
Calls superclass method
# File lib/simple_params/nested_errors.rb, line 38 def clear super end
empty?()
click to toggle source
Calls superclass method
# File lib/simple_params/nested_errors.rb, line 42 def empty? super end
Also aliased as: blank?
full_messages()
click to toggle source
# File lib/simple_params/nested_errors.rb, line 57 def full_messages map { |attribute, message| full_message(attribute, message) } end
hash?()
click to toggle source
# File lib/simple_params/nested_errors.rb, line 16 def hash? @base.hash? end
include?(attribute)
click to toggle source
# File lib/simple_params/nested_errors.rb, line 47 def include?(attribute) messages[attribute].present? end
to_a()
click to toggle source
# File lib/simple_params/nested_errors.rb, line 61 def to_a full_messages end
to_hash(full_messages = false)
click to toggle source
# File lib/simple_params/nested_errors.rb, line 65 def to_hash(full_messages = false) get_messages(self, full_messages) end
to_s(full_messages = false)
click to toggle source
# File lib/simple_params/nested_errors.rb, line 69 def to_s(full_messages = false) array = to_a.compact array.join(', ') end
values()
click to toggle source
# File lib/simple_params/nested_errors.rb, line 53 def values messages.values end
Private Instance Methods
add_error_to_attribute(attribute, error)
click to toggle source
# File lib/simple_params/nested_errors.rb, line 75 def add_error_to_attribute(attribute, error) self[attribute] << error end
empty_messages?(msgs)
click to toggle source
# File lib/simple_params/nested_errors.rb, line 89 def empty_messages?(msgs) msgs.nil? || msgs.empty? end
get_messages(object, full_messages = false)
click to toggle source
# File lib/simple_params/nested_errors.rb, line 79 def get_messages(object, full_messages = false) if full_messages object.messages.each_with_object({}) do |(attribute, array), messages| messages[attribute] = array.map { |message| object.full_message(attribute, message) } end else object.messages.dup end end