class FacebookPlaces::Request

Attributes

response[RW]

Accessors

uri[RW]

Accessors

Public Class Methods

new(url, options: {}) click to toggle source

Methods

# File lib/facebook_places/request.rb, line 7
def initialize(url, options: {})
  options.delete_if { |_, value| value.to_s.strip == '' }
  @uri       = URI(url)
  @uri.query = URI.encode_www_form(options)
  @response  = start!
end

Public Instance Methods

parsed_response() click to toggle source
# File lib/facebook_places/request.rb, line 14
def parsed_response
  JSON.parse(response.body)
rescue
  Logger.new(STDOUT).error 'Failed to Parse Response'
end

Private Instance Methods

http_get() { || ... } click to toggle source
# File lib/facebook_places/request.rb, line 30
def http_get(&block)
  Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
    @request = Net::HTTP::Get.new uri
    @response = http.request @request
    yield
  end
end
start!() click to toggle source
# File lib/facebook_places/request.rb, line 22
def start!
  http_get do
    return @response if @response.is_a?(Net::HTTPSuccess)
    Logger.new(STDOUT).error parsed_response['error']['message']
    raise StandardError
  end
end