Class: Lite::Errors::Messages

Inherits:
Object
  • Object
show all
Defined in:
lib/lite/errors/messages.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeMessages

Returns a new instance of Messages.



9
10
11
# File 'lib/lite/errors/messages.rb', line 9

def initialize
  @errors = {}
end

Instance Attribute Details

#errorsObject (readonly)

Returns the value of attribute errors.



7
8
9
# File 'lib/lite/errors/messages.rb', line 7

def errors
  @errors
end

Instance Method Details

#[](key) ⇒ Object



13
14
15
16
17
# File 'lib/lite/errors/messages.rb', line 13

def [](key)
  return [] unless key?(key)

  @errors[key]
end

#[]=(key, value) ⇒ Object Also known as: add



19
20
21
22
23
# File 'lib/lite/errors/messages.rb', line 19

def []=(key, value)
  @errors[key] ||= []
  @errors[key] << value
  @errors[key].uniq!
end

#added?(key, val) ⇒ Boolean Also known as: of_kind?

Returns:

  • (Boolean)


27
28
29
30
31
# File 'lib/lite/errors/messages.rb', line 27

def added?(key, val)
  return false unless key?(key)

  @errors[key].include?(val)
end

#clearObject



35
36
37
# File 'lib/lite/errors/messages.rb', line 35

def clear
  @errors.clear
end

#delete(key) ⇒ Object



39
40
41
# File 'lib/lite/errors/messages.rb', line 39

def delete(key)
  @errors.delete(key)
end

#eachObject

:nocov:



44
45
46
47
48
# File 'lib/lite/errors/messages.rb', line 44

def each
  @errors.each_key do |key|
    @errors[key].each { |val| yield(key, val) }
  end
end

#empty?Boolean Also known as: blank?

:nocov:

Returns:

  • (Boolean)


51
52
53
# File 'lib/lite/errors/messages.rb', line 51

def empty?
  @errors.empty?
end

#full_message(key, value) ⇒ Object



57
58
59
# File 'lib/lite/errors/messages.rb', line 57

def full_message(key, value)
  "#{key} #{value}"
end

#full_messagesObject Also known as: to_a



61
62
63
64
65
# File 'lib/lite/errors/messages.rb', line 61

def full_messages
  @errors.each_with_object([]) do |(key, arr), memo|
    arr.each { |val| memo << full_message(key, val) }
  end
end

#full_messages_for(key) ⇒ Object



69
70
71
72
73
# File 'lib/lite/errors/messages.rb', line 69

def full_messages_for(key)
  return [] unless key?(key)

  @errors[key].map { |val| full_message(key, val) }
end

#key?(key) ⇒ Boolean Also known as: has_key?, include?

Returns:

  • (Boolean)


75
76
77
# File 'lib/lite/errors/messages.rb', line 75

def key?(key)
  @errors.key?(key)
end

#keysObject



82
83
84
# File 'lib/lite/errors/messages.rb', line 82

def keys
  @errors.keys
end

#merge!(hash) ⇒ Object



86
87
88
89
90
91
92
# File 'lib/lite/errors/messages.rb', line 86

def merge!(hash)
  @errors.merge!(hash) do |_, arr1, arr2|
    arr3 = arr1 + arr2
    arr3.uniq!
    arr3
  end
end

#present?Boolean

Returns:

  • (Boolean)


94
95
96
# File 'lib/lite/errors/messages.rb', line 94

def present?
  !blank?
end

#sizeObject Also known as: count



98
99
100
# File 'lib/lite/errors/messages.rb', line 98

def size
  @errors.size
end

#slice!(*keys) ⇒ Object



104
105
106
107
# File 'lib/lite/errors/messages.rb', line 104

def slice!(*keys)
  keys.each { |key| delete(key) }
  @errors
end

#to_hash(full_messages = false) ⇒ Object Also known as: messages, as_json



109
110
111
112
113
114
115
# File 'lib/lite/errors/messages.rb', line 109

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

#valuesObject



120
121
122
# File 'lib/lite/errors/messages.rb', line 120

def values
  @errors.values
end