Class: ApiClient::Errors
- Inherits:
-
ActiveModel::Errors
- Object
- ActiveModel::Errors
- ApiClient::Errors
- Defined in:
- lib/api-client/errors.rb
Overview
ApiClient::Errors provide extra functionality to ActiveModel::Errors.
Instance Method Summary collapse
-
#add_errors(errors = {}) ⇒ ApiClient::Errors
Add several errors from a hash to the object.
-
#unique_message(attribute) ⇒ String
Returns a unique message for a given attribute.
-
#unique_messages ⇒ Hash
Returns a unique message for each array of error messages in a hash.
Instance Method Details
#add_errors(errors = {}) ⇒ ApiClient::Errors
Add several errors from a hash to the object.
9 10 11 12 13 |
# File 'lib/api-client/errors.rb', line 9 def add_errors(errors = {}) errors.each_pair do |key, value| add(key, value) end end |
#unique_message(attribute) ⇒ String
Returns a unique message for a given attribute.
class Person
validates_presence_of :name, :address, :email
validates_length_of :name, in: 5..30
end
person = Person.create(address: '123 First St.')
person.errors.(:name) # => "is too short (minimum is 5 characters) and can't be blank"
person.errors.(:address) # => nil
44 45 46 47 |
# File 'lib/api-client/errors.rb', line 44 def (attribute) return '' if [attribute].blank? [[attribute]].flatten.to_sentence end |
#unique_messages ⇒ Hash
Returns a unique message for each array of error messages in a hash.
class Person
validates_presence_of :name, :address, :email
validates_length_of :name, in: 5..30
end
person = Person.create(address: '123 First St.')
person.errors.
# => { :name => "is too short (minimum is 5 characters) and can't be blank", :address => nil, :email => "can't be blank" }
26 27 28 29 30 |
# File 'lib/api-client/errors.rb', line 26 def errors = {} map { |attribute, | errors[attribute] = (attribute) } errors end |