class Validic::Response
Attributes
attributes[R]
records[R]
summary[R]
Public Class Methods
new(response, connection = nil)
click to toggle source
# File lib/validic/response.rb, line 8 def initialize(response, connection = nil) @connection = connection @summary = summary_object(response) case resp = response_object(response) when Array @records = resp when Hash @attributes = resp end end
Public Instance Methods
next()
click to toggle source
# File lib/validic/response.rb, line 19 def next return nil unless next_url = summary.next resp = get(next_url, {}) self.class.new(resp, connection) end
previous()
click to toggle source
# File lib/validic/response.rb, line 25 def previous return nil unless previous_url = summary.previous resp = get(previous_url, {}) self.class.new(resp, connection) end
Private Instance Methods
camelize_response_key(resp)
click to toggle source
# File lib/validic/response.rb, line 47 def camelize_response_key(resp) key = resp.keys.first key = key.include?('_') ? key.split('_').map(&:capitalize).join : key.capitalize key.chop! if %w(Users Apps).include?(key) #strip last letter off to match ::User or ::App key end
connection()
click to toggle source
# File lib/validic/response.rb, line 33 def connection @connection end
response_object(resp)
click to toggle source
# File lib/validic/response.rb, line 41 def response_object(resp) return resp.values.first if resp.values.first.is_a? Hash klass = Validic.const_get(camelize_response_key(resp)) resp.values.flatten.collect { |obj| klass.new(obj) } end
summary_object(resp)
click to toggle source
# File lib/validic/response.rb, line 37 def summary_object(resp) Validic::Summary.new(resp.delete("summary")) end