Repository URL to install this package:
|
Version:
0.11.1 ▾
|
module ActionSprout::Facebook
class API
attr_reader :graph, :delegates
# It doesn't make sense to provide access_token and graph.
# legacy_access_token is provided for backwards compatibility.
def initialize(legacy_access_token = nil, access_token: nil, graph: default_graph(access_token || legacy_access_token), **delegates)
@graph = graph
@delegates = delegates
end
def get(path, options = {})
graph.get(path, options).tap(&method(:error_handler))
end
def post(path, options = {})
graph.post(path, options).tap(&method(:error_handler))
end
private
delegate :access_token, to: :graph
def default_graph(access_token)
access_token ? Graph.new(access_token) : Graph.default_instance
end
def error_handler(response)
ErrorHandler.call response, access_token, **delegates
end
end
end