|
@@ -2,6 +2,16 @@ require 'active_resource/base'
|
|
|
|
|
|
module ActiveResource
|
|
|
class Errors < ActiveModel::Errors
|
|
|
+ def from_json(json, save_cache = false)
|
|
|
+ data = ActiveSupport::JSON.decode(json)['errors'] || {} rescue {}
|
|
|
+ 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
|
|
|
|
|
@@ -12,10 +22,10 @@ module ActiveResource
|
|
|
end
|
|
|
end
|
|
|
|
|
|
- # Grabs errors from a json response.
|
|
|
- def from_json(json, save_cache = false)
|
|
|
- hash = ActiveSupport::JSON.decode(json)['errors'] || {} rescue {}
|
|
|
- from_hash hash, save_cache
|
|
|
+ def from_string(error, save_cache = false)
|
|
|
+ clear unless save_cache
|
|
|
+
|
|
|
+ add("message", error)
|
|
|
end
|
|
|
end
|
|
|
end
|