class ActiveModel::BetterErrors::ErrorCollection

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
count()
Alias for: size
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