Class: DPay::Internal::BaseUrls

Inherits:
Object
  • Object
show all
Defined in:
lib/dpay/internal/base_urls.rb,
sig/dpay/internal/base_urls.rbs

Constant Summary collapse

API_PAYMENTS =

Returns:

  • (Symbol)
:api_payments
PANEL =

Returns:

  • (Symbol)
:panel
GATEWAY =

Returns:

  • (Symbol)
:gateway
DEFAULTS =

Returns:

  • (Hash[Symbol, String])
{
  API_PAYMENTS => "https://api-payments.dpay.pl",
  PANEL => "https://panel.dpay.pl",
  GATEWAY => "https://secure.dpay.pl"
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(overrides = {}) ⇒ BaseUrls

Returns a new instance of BaseUrls.

Parameters:

  • overrides (Hash[untyped, String]) (defaults to: {})


16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/dpay/internal/base_urls.rb', line 16

def initialize(overrides = {})
  urls = DEFAULTS.dup

  overrides.each do |host, url|
    key = host.to_sym
    raise InvalidArgumentError, %(Unknown base URL key "#{host}") unless DEFAULTS.key?(key)

    urls[key] = url.to_s.sub(%r{/+\z}, "")
  end

  @urls = urls.freeze
  freeze
end

Instance Method Details

#resolve(host) ⇒ String

Parameters:

  • host (Symbol)

Returns:

  • (String)

Raises:



30
31
32
33
34
35
# File 'lib/dpay/internal/base_urls.rb', line 30

def resolve(host)
  key = host.to_sym
  raise InvalidArgumentError, %(Unknown API host "#{host}") unless @urls.key?(key)

  @urls[key]
end