1
0
Fork 0
mirror of https://github.com/nov/fb_graph2 synced 2023-03-27 23:22:15 -04:00
fb_graph2/lib/fb_graph2.rb
2014-06-26 22:59:07 -04:00

53 lines
1.5 KiB
Ruby

require 'active_support/all'
require 'rack/oauth2'
module FbGraph2
mattr_accessor :root_url, :api_version, :gem_version, :logger, :debugging, :_http_config_, :object_classes
self.root_url = 'https://graph.facebook.com'
self.api_version = 'v2.0'
self.gem_version = File.read(File.join(__dir__, '../VERSION')).delete("\n\r")
self.logger = Logger.new(STDOUT)
self.logger.progname = 'FbGraph2'
self.object_classes = Array.new
class << self
def debugging?
!!self.debugging
end
def debug!
Rack::OAuth2.debug!
self.debugging = true
end
def http_client(access_token = nil)
_http_client_ = HTTPClient.new(
agent_name: "FbGraph2 (#{gem_version})"
)
_http_client_.request_filter.delete_if do |filter|
filter.is_a? HTTPClient::WWWAuth
end
_http_client_.request_filter << RequestFilter::Authenticator.new(access_token) if access_token.present?
_http_client_.request_filter << RequestFilter::Debugger.new if self.debugging?
_http_config_.try(:call, _http_client_)
_http_client_
end
def http_config(&block)
Rack::OAuth2.http_config &block unless Rack::OAuth2.http_config
self._http_config_ ||= block
end
end
end
require 'fb_graph2/attribute_assigner'
require 'fb_graph2/node'
require 'fb_graph2/collection'
require 'fb_graph2/edge'
[
'.',
'request_filter'
].each do |dir|
Dir[File.join(__dir__, 'fb_graph2', dir, '*.rb')].each do |file|
require file
end
end