Class: ShipEngine::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/shipengine/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key:, retries: nil, timeout: nil, page_size: nil, base_url: nil) ⇒ Configuration

Returns a new instance of Configuration.



7
8
9
10
11
12
13
14
# File 'lib/shipengine/configuration.rb', line 7

def initialize(api_key:, retries: nil, timeout: nil, page_size: nil, base_url: nil)
  @api_key = api_key
  @base_url = base_url || Constants.base_url
  @retries = retries || 1
  @timeout = timeout || 60_000
  @page_size = page_size || 50
  validate
end

Instance Attribute Details

#api_keyObject

Returns the value of attribute api_key.



5
6
7
# File 'lib/shipengine/configuration.rb', line 5

def api_key
  @api_key
end

#base_urlObject

Returns the value of attribute base_url.



5
6
7
# File 'lib/shipengine/configuration.rb', line 5

def base_url
  @base_url
end

#page_sizeObject

Returns the value of attribute page_size.



5
6
7
# File 'lib/shipengine/configuration.rb', line 5

def page_size
  @page_size
end

#retriesObject

Returns the value of attribute retries.



5
6
7
# File 'lib/shipengine/configuration.rb', line 5

def retries
  @retries
end

#timeoutObject

Returns the value of attribute timeout.



5
6
7
# File 'lib/shipengine/configuration.rb', line 5

def timeout
  @timeout
end

Instance Method Details

#merge(config) ⇒ Object

Parameters:

  • opts (Hash)

    the options to create a message with.



21
22
23
24
25
26
27
28
29
30
# File 'lib/shipengine/configuration.rb', line 21

def merge(config)
  copy = clone
  copy.api_key   = config[:api_key] if config.key?(:api_key)
  copy.base_url  = config[:base_url] if config.key?(:base_url)
  copy.retries   =  config[:retries] if config.key?(:retries)
  copy.timeout   =  config[:timeout] if config.key?(:timeout)
  copy.page_size = config[:page_size] if config.key?(:page_size)
  copy.validate
  copy
end