class Lite::Errors::Messages

Attributes

errors[R]

Public Class Methods

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

Public Instance Methods

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

  @errors[key]
end
Also aliased as: messages_for
[]=(key, value) click to toggle source
# File lib/lite/errors/messages.rb, line 21
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/lite/errors/messages.rb, line 29
def added?(key, val)
  return false unless key?(key)

  @errors[key].include?(val)
end
Also aliased as: of_kind?
as_json(full_messages = false)
Alias for: to_hash
attribute_names()
Alias for: keys
blank?()
Alias for: empty?
clear() click to toggle source
# File lib/lite/errors/messages.rb, line 37
def clear
  @errors.clear
end
count()
Alias for: size
delete(key) click to toggle source
# File lib/lite/errors/messages.rb, line 41
def delete(key)
  @errors.delete(key)
end
each() { |key, val| ... } click to toggle source

:nocov:

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

:nocov:

# File lib/lite/errors/messages.rb, line 53
def empty?
  @errors.empty?
end
Also aliased as: blank?
full_message(key, value) click to toggle source
# File lib/lite/errors/messages.rb, line 59
def full_message(key, value)
  "#{key} #{value}"
end
full_messages() click to toggle source
# File lib/lite/errors/messages.rb, line 63
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/lite/errors/messages.rb, line 71
def full_messages_for(key)
  return [] unless key?(key)

  @errors[key].map { |val| full_message(key, val) }
end
group_by_attribute(full_messages = false)
Alias for: to_hash
has_key?(key)
Alias for: key?
include?(key)
Alias for: key?
key?(key) click to toggle source
# File lib/lite/errors/messages.rb, line 77
def key?(key)
  @errors.key?(key)
end
Also aliased as: has_key?, include?
keys() click to toggle source
# File lib/lite/errors/messages.rb, line 84
def keys
  @errors.keys
end
Also aliased as: attribute_names
merge!(hash) click to toggle source
# File lib/lite/errors/messages.rb, line 90
def merge!(hash)
  @errors.merge!(hash) do |_, arr1, arr2|
    arr3 = arr1 + arr2
    arr3.uniq!
    arr3
  end
end
messages(full_messages = false)

rubocop:enable Style/OptionalBooleanParameter

Alias for: to_hash
messages_for(key)
Alias for: []
of_kind?(key, val)
Alias for: added?
present?() click to toggle source
# File lib/lite/errors/messages.rb, line 98
def present?
  !blank?
end
size() click to toggle source
# File lib/lite/errors/messages.rb, line 102
def size
  @errors.size
end
Also aliased as: count
slice!(*keys) click to toggle source
# File lib/lite/errors/messages.rb, line 108
def slice!(*keys)
  keys.each { |key| delete(key) }
  @errors
end
to_a()
Alias for: full_messages
to_hash(full_messages = false) click to toggle source

rubocop:disable Style/OptionalBooleanParameter

# File lib/lite/errors/messages.rb, line 114
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, group_by_attribute, as_json
values() click to toggle source
# File lib/lite/errors/messages.rb, line 127
def values
  @errors.values
end