class FortyTwo::Client
Constants
- API_HOST
- REQUEST_CLASSES
Attributes
configuration[R]
Public Class Methods
new(options = nil)
click to toggle source
# File lib/fortytwo/client.rb, line 17 def initialize(options = nil) @configuration = nil define_request_methods unless options.nil? @configuration = Configuration.new(options) check_api_keys end end
Public Instance Methods
check_api_keys()
click to toggle source
# File lib/fortytwo/client.rb, line 33 def check_api_keys if configuration.nil? || configuration.invalid? @configuration = nil else @configuration.freeze end end
configure() { |configuration| ... }
click to toggle source
# File lib/fortytwo/client.rb, line 27 def configure @configuration = Configuration.new yield(@configuration) check_api_keys end
token()
click to toggle source
# File lib/fortytwo/client.rb, line 41 def token return @token if instance_variable_defined?(:@token) check_api_keys api_key = @configuration.api_key api_secret = @configuration.api_secret client = OAuth2::Client.new(api_key, api_secret, site: API_HOST) client.client_credentials.get_token end
Private Instance Methods
add_method(instance, method_name)
click to toggle source
# File lib/fortytwo/client.rb, line 66 def add_method(instance, method_name) define_singleton_method(method_name) do |*args| instance.public_send(method_name, *args) end end
create_methods_from_instance(instance)
click to toggle source
# File lib/fortytwo/client.rb, line 60 def create_methods_from_instance(instance) instance.public_methods(false).each do |method_name| add_method(instance, method_name) end end
define_request_methods()
click to toggle source
# File lib/fortytwo/client.rb, line 53 def define_request_methods REQUEST_CLASSES.each do |request_class| endpoint_instance = request_class.new(self) create_methods_from_instance(endpoint_instance) end end