| 
					
				 | 
			
			
				@@ -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 
			 |