123456789101112131415161718192021222324252627282930313233343536 |
- require 'active_resource/base'
- module ActiveResource
- class Errors < ActiveModel::Errors
- def from_json(json, save_cache = false)
- data =
- begin
- ActiveSupport::JSON.decode(json)['errors'] || {}
- rescue
- {}
- end
- case data
- when String
- from_string(data, save_cache)
- else
- from_hash(data, save_cache)
- end
- end
- def from_hash(messages, save_cache = false)
- clear unless save_cache
- messages.each do |key, errors|
- errors.each do |error|
- add(key, error)
- end
- end
- end
- def from_string(error, save_cache = false)
- clear unless save_cache
- add(:base, error)
- end
- end
- end
|