class ActiveModel::BetterErrors::ErrorCollection
Attributes
base[R]
Public Class Methods
new(base)
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 12 def initialize(base) @base = base @collection = {} end
Public Instance Methods
[](attribute)
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 38 def [](attribute) get(attribute.to_sym) || set(attribute.to_sym, []) end
[]=(attribute, error)
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 42 def []=(attribute, error) self[attribute] << error end
add(attribute, message, options = {})
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 84 def add(attribute, message, options = {}) self[attribute] << [message, options] end
added?(attribute, message = nil, options = {})
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 88 def added?(attribute, message = nil, options = {}) message = ErrorMessage.build(base, attribute, message, options) self[attribute].include? message end
clear()
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 17 def clear @collection.clear end
delete(attribute)
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 34 def delete(attribute) @collection.delete attribute end
each() { |attribute, error_message| ... }
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 46 def each @collection.each_key do |attribute| self[attribute].each do |error_message| yield attribute, error_message end end end
empty?()
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 80 def empty? size == 0 end
get(attribute)
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 25 def get(attribute) @collection[attribute] end
include?(attribute)
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 21 def include?(attribute) ( v = @collection[attribute]) && v.any? end
keys()
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 63 def keys @collection.keys end
set(attribute, errors)
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 29 def set(attribute, errors) return delete attribute if errors.nil? @collection[attribute] = ErrorMessageSet.new(base, attribute, errors) end
size()
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 54 def size values.reduce(0) { |a, e| a + e.size } end
Also aliased as: count
to_a()
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 67 def to_a array = [] @collection.each_key do |attribute| self[attribute].each { |error_message| array << error_message } end array end
to_hash()
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 76 def to_hash @collection.dup end
values()
click to toggle source
# File lib/active_model/better_errors/error_collection.rb, line 59 def values @collection.values end