class TrustedSearch::APIResponse

Attributes

code[R]
data[R]
meta[R]
request[R]

Public Class Methods

new(response) click to toggle source
# File lib/trustedsearch/api_response.rb, line 5
def initialize(response)
                    @request = response.request
  @code = response.code
  #handle case where body has no response and thus JSON.parse requires octet aka a byte.
  @data = (response.body.length >=2) ? JSON.parse(response.body.strip) : nil

  #Lets symbolize Version responses.
  if(TrustedSearch::api_version == 2)
    @data = self.symbolize_keys(@data)
  end
end

Public Instance Methods

symbolize_keys(x) click to toggle source
# File lib/trustedsearch/api_response.rb, line 17
def symbolize_keys(x)
  if x.is_a? Hash
    x.inject({}) do |result, (key, value)|
      new_key = case key
                when String then key.to_sym
                else key
                end
      new_value = case value
                  when Hash then symbolize_keys(value)
                  when Array then symbolize_keys(value)
                  else value
                  end
      result[new_key] = new_value
      result
    end
  elsif x.is_a? Array
    x.map {|el| symbolize_keys(el)}
  else
    x
  end
end