Class: Aequitas::MessageTransformer::Default

Inherits:
Aequitas::MessageTransformer show all
Defined in:
lib/aequitas/message_transformer.rb

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Aequitas::MessageTransformer

default

Class Attribute Details

.error_messagesHash{Symbol=>String}

Gets the hash of error messages used to transform violations.

Returns:

  • (Hash{Symbol=>String})


60
61
62
# File 'lib/aequitas/message_transformer.rb', line 60

def error_messages
  @error_messages
end

Class Method Details

.error_message(violation_type, attribute_name, violation_values) ⇒ Object



76
77
78
79
80
81
82
83
# File 'lib/aequitas/message_transformer.rb', line 76

def self.error_message(violation_type, attribute_name, violation_values)
  if message = self.error_messages[violation_type]
    attribute_name = DataMapper::Inflector.humanize(attribute_name)
    message % [attribute_name, *violation_values].flatten
  else
    violation_type.to_s
  end
end

Instance Method Details

#transform(violation) ⇒ Object

Raises:

  • (ArgumentError)


85
86
87
88
89
90
91
# File 'lib/aequitas/message_transformer.rb', line 85

def transform(violation)
  raise ArgumentError, "+violation+ must be specified" if violation.nil?

  attribute_name = violation.attribute_name

  self.class.error_message(violation.type, attribute_name, violation.values)
end