Class: Invoq::Client

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key, api_origin: DEFAULT_API_ORIGIN, timeout_ms: DEFAULT_TIMEOUT_MS) ⇒ Client

Returns a new instance of Client.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/invoq/client.rb', line 16

def initialize(api_key, api_origin: DEFAULT_API_ORIGIN, timeout_ms: DEFAULT_TIMEOUT_MS)
  unless api_key.is_a?(String) && !api_key.strip.empty?
    raise Error, "invoq API key must be a non-empty string."
  end

  # A control character in a key is either rejected deep in the transport or
  # silently sent; reject it here so every SDK answers the same way.
  if api_key.match?(/[\x00-\x1F\x7F]/)
    raise Error, "invoq API key must not contain control characters."
  end

  @api_key = api_key
  @api_origin = Invoq.normalize_api_origin(api_origin)
  @timeout_ms = Invoq.normalize_timeout_ms(timeout_ms)
  @invoices = InvoicesResource.new(
    api_key: @api_key,
    api_origin: @api_origin,
    timeout_ms: @timeout_ms
  )
end

Instance Attribute Details

#invoicesObject (readonly)

Returns the value of attribute invoices.



14
15
16
# File 'lib/invoq/client.rb', line 14

def invoices
  @invoices
end

Instance Method Details

#inspectObject



37
38
39
# File 'lib/invoq/client.rb', line 37

def inspect
  "#<#{self.class} api_origin=#{@api_origin.inspect} timeout_ms=#{@timeout_ms.inspect}>"
end