Class: ActiveModel::AttributeErrors

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/active_model/attribute_errors.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(base, attribute) ⇒ AttributeErrors

Returns a new instance of AttributeErrors.



8
9
10
11
12
# File 'lib/active_model/attribute_errors.rb', line 8

def initialize(base, attribute)
  @base = base
  @attribute = attribute
  @errors = []
end

Instance Attribute Details

#attributeObject

Returns the value of attribute attribute.



5
6
7
# File 'lib/active_model/attribute_errors.rb', line 5

def attribute
  @attribute
end

#errorsObject

Returns the value of attribute errors.



5
6
7
# File 'lib/active_model/attribute_errors.rb', line 5

def errors
  @errors
end

Instance Method Details

#add(message = nil, options = {}) ⇒ Object Also known as: <<



14
15
16
17
# File 'lib/active_model/attribute_errors.rb', line 14

def add(message = nil, options = {})
  message = generate_message(message, options) if message.is_a?(Symbol)
  @errors << message
end

#eachObject



21
22
23
# File 'lib/active_model/attribute_errors.rb', line 21

def each
  @errors.each { |error| yield error }
end

#generate_message(type = :invalid, options = {}) ⇒ Object



36
37
38
# File 'lib/active_model/attribute_errors.rb', line 36

def generate_message(type = :invalid, options = {})
  @base.generate_message(attribute, type, options)
end

#include?(message) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
28
29
30
31
32
33
34
# File 'lib/active_model/attribute_errors.rb', line 25

def include?(message)
  case message
  when Symbol
    @errors.any? { |error| error.subject == message }
  when String
    @errors.any? { |error| error.to_s == message }
  else
    @errors.include?(message)
  end
end

#to_aObject



40
41
42
# File 'lib/active_model/attribute_errors.rb', line 40

def to_a
  @errors
end