class UberCar::Client
Constants
- REQUEST_CLASSES
Attributes
configuration[R]
session[RW]
Public Class Methods
new(options = nil)
click to toggle source
# File lib/uber/client.rb, line 14 def initialize(options = nil) @configuration = nil define_request_methods unless options.nil? @configuration = Configuration.new(options) check_api_keys end end
Public Instance Methods
add_method(instance, method_name)
click to toggle source
# File lib/uber/client.rb, line 46 def add_method(instance, method_name) define_singleton_method(method_name) do |*args| instance.public_send(method_name, *args) end end
check_api_keys()
click to toggle source
# File lib/uber/client.rb, line 24 def check_api_keys if configuration.nil? || !configuration.valid? @configuration = nil raise Error::NoApiKeys else @configuration.freeze end end
create_methods_from_instance(instance)
click to toggle source
# File lib/uber/client.rb, line 40 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/uber/client.rb, line 33 def define_request_methods REQUEST_CLASSES.each do |request_class| operations_instance = request_class.new(self) create_methods_from_instance(operations_instance) end end