class NovaposhtaApi::Client

Attributes

api_key[R]

Public Class Methods

new(api_key: nil) { |connection| ... } click to toggle source
# File lib/novaposhta_api/client.rb, line 7
def initialize(api_key: nil)
  @api_key = api_key

  yield(http.connection) if block_given?
end
resources() click to toggle source
# File lib/novaposhta_api/client.rb, line 13
def self.resources
  {
    cities: Resources::CityResource,
    counterparties: Resources::CounterpartyResource,
    internet_documents: Resources::InternetDocumentResource,
    tracking_documents: Resources::TrackingDocumentResource,
    settlements: Resources::SettlementResource,
    warehouses: Resources::WarehouseResource
  }
end

Public Instance Methods

http() click to toggle source
# File lib/novaposhta_api/client.rb, line 45
def http
  @http ||= NovaposhtaApi::HttpClient.new(
    uri: NovaposhtaApi.configuration.api_url,
    api_key: api_key || NovaposhtaApi.configuration.api_key
  )
end
method_missing(name, *args, &block) click to toggle source
Calls superclass method
# File lib/novaposhta_api/client.rb, line 24
def method_missing(name, *args, &block)
  if with_resource?(name)
    resources[name] ||= self.class.resources[name].new(http: http)
    resources[name]
  else
    super
  end
end
resources() click to toggle source
# File lib/novaposhta_api/client.rb, line 41
def resources
  @resources ||= {}
end
respond_to_missing?(method_name, include_private = false) click to toggle source
Calls superclass method
# File lib/novaposhta_api/client.rb, line 33
def respond_to_missing?(method_name, include_private = false)
  with_resource?(method_name) || super
end
with_resource?(resource_name) click to toggle source
# File lib/novaposhta_api/client.rb, line 37
def with_resource?(resource_name)
  self.class.resources.keys.include?(resource_name)
end