Class: BudaApi::Client

Inherits:
Object
  • Object
show all
Includes:
Constants
Defined in:
lib/buda_api/client.rb

Overview

Base client class providing core HTTP functionality and error handling

Direct Known Subclasses

PublicClient

Constant Summary collapse

DEFAULT_OPTIONS =
{
  base_url: "https://www.buda.com/api/v2/",
  timeout: 30,
  retries: 3,
  debug_mode: false
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Client

Returns a new instance of Client.



24
25
26
27
28
29
30
31
32
33
# File 'lib/buda_api/client.rb', line 24

def initialize(options = {})
  @options = DEFAULT_OPTIONS.merge(options)
  @base_url = @options[:base_url]
  @timeout = @options[:timeout]
  @retries = @options[:retries]
  @debug_mode = @options[:debug_mode]

  setup_logger
  setup_http_client
end

Instance Attribute Details

#base_url ⇒ Object (readonly)

Returns the value of attribute base_url.



15
16
17
# File 'lib/buda_api/client.rb', line 15

def base_url
  @base_url
end

#debug_mode ⇒ Object (readonly)

Returns the value of attribute debug_mode.



15
16
17
# File 'lib/buda_api/client.rb', line 15

def debug_mode
  @debug_mode
end

#retries ⇒ Object (readonly)

Returns the value of attribute retries.



15
16
17
# File 'lib/buda_api/client.rb', line 15

def retries
  @retries
end

#timeout ⇒ Object (readonly)

Returns the value of attribute timeout.



15
16
17
# File 'lib/buda_api/client.rb', line 15

def timeout
  @timeout
end