class ActiveErrors::Messages

Attributes

errors[R]

Public Class Methods

new() click to toggle source
# File lib/active_errors/messages.rb, line 8
def initialize
  @errors = {}
end

Public Instance Methods

[](key) click to toggle source
# File lib/active_errors/messages.rb, line 12
def [](key)
  return [] unless key?(key)

  @errors[key]
end
[]=(key, value) click to toggle source
# File lib/active_errors/messages.rb, line 18
def []=(key, value)
  @errors[key] ||= []
  @errors[key] << value
  @errors[key].uniq!
end
Also aliased as: add
add(key, value)
Alias for: []=
added?(key, val) click to toggle source
# File lib/active_errors/messages.rb, line 26
def added?(key, val)
  return false unless key?(key)

  @errors[key].include?(val)
end
as_json(full_messages = false)
Alias for: to_hash
blank?()
Alias for: empty?
clear() click to toggle source
# File lib/active_errors/messages.rb, line 32
def clear
  @errors.clear
end
count()
Alias for: size
delete(key) click to toggle source
# File lib/active_errors/messages.rb, line 36
def delete(key)
  @errors.delete(key)
end
each() { |key, val| ... } click to toggle source

:nocov:

# File lib/active_errors/messages.rb, line 41
def each
  @errors.each_key do |key|
    @errors[key].each { |val| yield(key, val) }
  end
end
empty?() click to toggle source

:nocov:

# File lib/active_errors/messages.rb, line 48
def empty?
  @errors.empty?
end
Also aliased as: blank?
full_message(key, value) click to toggle source
# File lib/active_errors/messages.rb, line 54
def full_message(key, value)
  "#{key} #{value}"
end
full_messages() click to toggle source
# File lib/active_errors/messages.rb, line 58
def full_messages
  @errors.each_with_object([]) do |(key, arr), memo|
    arr.each { |val| memo << full_message(key, val) }
  end
end
Also aliased as: to_a
full_messages_for(key) click to toggle source
# File lib/active_errors/messages.rb, line 66
def full_messages_for(key)
  return [] unless key?(key)

  @errors[key].map { |val| full_message(key, val) }
end
has_key?(key)
Alias for: key?
include?(key)
Alias for: key?
key?(key) click to toggle source
# File lib/active_errors/messages.rb, line 72
def key?(key)
  @errors.key?(key)
end
Also aliased as: has_key?, include?
keys() click to toggle source
# File lib/active_errors/messages.rb, line 79
def keys
  @errors.keys
end
merge!(hash) click to toggle source
# File lib/active_errors/messages.rb, line 83
def merge!(hash)
  @errors.merge!(hash) do |_, arr1, arr2|
    arr3 = arr1 + arr2
    arr3.uniq!
    arr3
  end
end
messages(full_messages = false)
Alias for: to_hash
present?() click to toggle source
# File lib/active_errors/messages.rb, line 91
def present?
  !blank?
end
size() click to toggle source
# File lib/active_errors/messages.rb, line 95
def size
  @errors.size
end
Also aliased as: count
to_a()
Alias for: full_messages
to_hash(full_messages = false) click to toggle source
# File lib/active_errors/messages.rb, line 101
def to_hash(full_messages = false)
  return @errors unless full_messages

  @errors.each_with_object({}) do |(key, arr), memo|
    memo[key] = arr.map { |val| full_message(key, val) }
  end
end
Also aliased as: messages, as_json
values() click to toggle source
# File lib/active_errors/messages.rb, line 112
def values
  @errors.values
end