Class: Judge::MessageCollection

Inherits:
Object
  • Object
show all
Includes:
MessageConfig
Defined in:
lib/judge/message_collection.rb

Constant Summary

Constants included from MessageConfig

Judge::MessageConfig::ALLOW_BLANK, Judge::MessageConfig::MESSAGE_MAP

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(object, method, amv) ⇒ MessageCollection

Returns a new instance of MessageCollection.



11
12
13
14
15
16
17
18
19
# File 'lib/judge/message_collection.rb', line 11

def initialize(object, method, amv)
  @object   = object
  @method   = method
  @amv      = amv
  @kind     = amv.kind
  @options  = amv.options.dup
  @messages = {}
  generate_messages!
end

Instance Attribute Details

#amvObject (readonly)

Returns the value of attribute amv.



9
10
11
# File 'lib/judge/message_collection.rb', line 9

def amv
  @amv
end

#kindObject (readonly)

Returns the value of attribute kind.



9
10
11
# File 'lib/judge/message_collection.rb', line 9

def kind
  @kind
end

#methodObject (readonly)

Returns the value of attribute method.



9
10
11
# File 'lib/judge/message_collection.rb', line 9

def method
  @method
end

#objectObject (readonly)

Returns the value of attribute object.



9
10
11
# File 'lib/judge/message_collection.rb', line 9

def object
  @object
end

#optionsObject (readonly)

Returns the value of attribute options.



9
10
11
# File 'lib/judge/message_collection.rb', line 9

def options
  @options
end

Instance Method Details

#custom_messages?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/judge/message_collection.rb', line 32

def custom_messages?
  amv.respond_to?(:messages_to_lookup) && amv.messages_to_lookup.present?
end

#generate_messages!Object



21
22
23
24
25
26
# File 'lib/judge/message_collection.rb', line 21

def generate_messages!
  return if @kind == :uniqueness
  %w{base options integer custom blank}.each do |type|
    @messages = @messages.merge(self.send(:"#{type}_messages"))
  end
end

#to_hashObject



28
29
30
# File 'lib/judge/message_collection.rb', line 28

def to_hash
  @messages
end