Class: ActiveErrors::Messages

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeMessages

Returns a new instance of Messages.



8
9
10
# File 'lib/active_errors/messages.rb', line 8

def initialize
  @errors = {}
end

Instance Attribute Details

#errorsObject (readonly)

Returns the value of attribute errors.



6
7
8
# File 'lib/active_errors/messages.rb', line 6

def errors
  @errors
end

Instance Method Details

#[](key) ⇒ Object



12
13
14
15
16
# File 'lib/active_errors/messages.rb', line 12

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

  @errors[key]
end

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



18
19
20
21
22
# File 'lib/active_errors/messages.rb', line 18

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

#added?(key, val) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
29
30
# File 'lib/active_errors/messages.rb', line 26

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

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

#clearObject



32
33
34
# File 'lib/active_errors/messages.rb', line 32

def clear
  @errors.clear
end

#delete(key) ⇒ Object



36
37
38
# File 'lib/active_errors/messages.rb', line 36

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

#eachObject

:nocov:



41
42
43
44
45
# 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?Boolean Also known as: blank?

:nocov:

Returns:

  • (Boolean)


48
49
50
# File 'lib/active_errors/messages.rb', line 48

def empty?
  @errors.empty?
end

#full_message(key, value) ⇒ Object



54
55
56
# File 'lib/active_errors/messages.rb', line 54

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

#full_messagesObject Also known as: to_a



58
59
60
61
62
# 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

#full_messages_for(key) ⇒ Object



66
67
68
69
70
# 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

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

Returns:

  • (Boolean)


72
73
74
# File 'lib/active_errors/messages.rb', line 72

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

#keysObject



79
80
81
# File 'lib/active_errors/messages.rb', line 79

def keys
  @errors.keys
end

#merge!(hash) ⇒ Object



83
84
85
86
87
88
89
# 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

#present?Boolean

Returns:

  • (Boolean)


91
92
93
# File 'lib/active_errors/messages.rb', line 91

def present?
  !blank?
end

#sizeObject Also known as: count



95
96
97
# File 'lib/active_errors/messages.rb', line 95

def size
  @errors.size
end

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



101
102
103
104
105
106
107
# 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

#valuesObject



112
113
114
# File 'lib/active_errors/messages.rb', line 112

def values
  @errors.values
end