Class: ActiveResource::Errors

### Home Classes Methods

### In Files

- lib/active_resource/validations.rb

### Parent

ActiveModel::Errors

### Methods

- #from_array
- #from_json
- #from_xml

### Files

- README.rdoc

### Class/Module Index

Quicksearch

- ActiveResource
- ActiveResource::BadRequest
- ActiveResource::Base
- ActiveResource::ClientError
- ActiveResource::Connection
- ActiveResource::CustomMethods
- ActiveResource::CustomMethods::ClassMethods
- ActiveResource::CustomMethods::InstanceMethods
- ActiveResource::Errors
- ActiveResource::ForbiddenAccess
- ActiveResource::Formats
- ActiveResource::Formats::JsonFormat
- ActiveResource::Formats::XmlFormat
- ActiveResource::HttpMock
- ActiveResource::InvalidRequestError
- ActiveResource::LogSubscriber
- ActiveResource::Observing
- ActiveResource::Railtie
- ActiveResource::Request
- ActiveResource::ResourceConflict
- ActiveResource::ResourceGone
- ActiveResource::ResourceNotFound
- ActiveResource::Response
- ActiveResource::SSLError
- ActiveResource::ServerError
- ActiveResource::TimeoutError
- ActiveResource::UnauthorizedAccess
- ActiveResource::Validations

No matching classes.

# ActiveResource::Errors

Active Resource validation is reported to and from this object, which is used by Base#save to determine whether the object in a valid state to be saved. See usage example in Validations.

### Public Instance Methods

from_array(messages, save_cache = false) click to toggle source

Grabs errors from an array of messages (like ActiveRecord::Validations) The second parameter directs the errors cache to be cleared (default) or not (by passing true)

    # File lib/active_resource/validations.rb, line 14
    def from_array(messages, save_cache = false)
      clear unless save_cache
      humanized_attributes = @base.attributes.keys.inject({}) { |h, attr_name| h.update(attr_name.humanize => attr_name) }
      messages.each do |message|
        attr_message = humanized_attributes.keys.detect do |attr_name|
          if message[0, attr_name.size + 1] == "#{attr_name} "
            add humanized_attributes[attr_name], message[(attr_name.size + 1)..-1]
          end
        end

        self[:base] << message if attr_message.nil?
      end
    end

from_json(json, save_cache = false) click to toggle source

Grabs errors from a json response.

    # File lib/active_resource/validations.rb, line 29
    def from_json(json, save_cache = false)
      array = Array.wrap(ActiveSupport::JSON.decode(json)['errors']) rescue []
      from_array array, save_cache
    end

from_xml(xml, save_cache = false) click to toggle source

Grabs errors from an XML response.

    # File lib/active_resource/validations.rb, line 35
    def from_xml(xml, save_cache = false)
      array = Array.wrap(Hash.from_xml(xml)['errors']['error']) rescue []
      from_array array, save_cache
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.