class Fb::Request

@private

Public Class Methods

new(options = {}) click to toggle source
# File lib/fb/request.rb, line 9
def initialize(options = {})
  @host = options.fetch :host, 'graph.facebook.com'
  @path = options[:path]
  @params = options.fetch :params, {}
  unless @params.include? :access_token
    @params.merge!(client_id: Fb.configuration.client_id)
  end
end

Public Instance Methods

run() click to toggle source
# File lib/fb/request.rb, line 22
def run
  res = Net::HTTP.get_response(uri)
  unless res.is_a?(Net::HTTPSuccess)
    message = JSON.parse(res.body)["error"]["message"]
    raise Fb::Error, message
  end
  JSON.parse(res.body)
end
url() click to toggle source
# File lib/fb/request.rb, line 18
def url
  uri.to_s
end

Private Instance Methods

uri() click to toggle source
# File lib/fb/request.rb, line 33
def uri
  query = URI.encode_www_form @params
  URI::HTTPS.build host: @host, path: @path, query: query
end