class ExtendWarranties::Client
Public Class Methods
namespace(name)
click to toggle source
Defines a method to access class instance.
# File lib/extend_warranties/client.rb, line 9 def self.namespace(name) converted = name.to_s.split('_').map(&:capitalize).join klass = ExtendWarranties::Api.const_get(converted) @namespaces << klass end
new(args = {})
click to toggle source
# File lib/extend_warranties/client.rb, line 24 def initialize(args = {}) @configuration = ExtendWarranties::Configuration.new(args) @connection = Faraday.new(url: @configuration.base_url) do |conn| conn.request :json conn.headers = @configuration.headers conn.response :json conn.response :logger conn.adapter Faraday.default_adapter end create_instances end
Private Instance Methods
create_instances()
click to toggle source
# File lib/extend_warranties/client.rb, line 42 def create_instances namespaces = self.class.instance_variable_get(:@namespaces) namespaces.each do |klass| reader = klass.to_s.split('::').last.underscore self.class.send(:define_method, reader.to_sym) { klass.new @connection } end end