Class: ActivePublicResources::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/active_public_resources/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(config = {}) ⇒ Client

Returns a new instance of Client.

Raises:

  • (ArgumentError)


3
4
5
6
7
8
9
10
11
# File 'lib/active_public_resources/client.rb', line 3

def initialize(config={})
  raise ArgumentError.new("key/value pair must be provided") if config.blank?

  @drivers = {}
  ActivePublicResources.symbolize_keys(config).each do |k, v|
    klass = "ActivePublicResources::Drivers::#{k.to_s.split('_').map(&:capitalize).join}".constantize
    @drivers[k] = (v.present? ? klass.new(v) : klass.new)
  end
end

Instance Method Details

#initialized_driversObject



17
18
19
# File 'lib/active_public_resources/client.rb', line 17

def initialized_drivers
  @drivers.keys
end

#perform_request(driver_name, request_criteria) ⇒ Object



13
14
15
# File 'lib/active_public_resources/client.rb', line 13

def perform_request(driver_name, request_criteria)
  @drivers[driver_name.to_sym].perform_request(request_criteria)
end