Class: GarageClient::Configuration

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

Constant Summary collapse

DEFAULTS =
{
  adapter: :net_http,
  cacher: nil,
  path_prefix: '/v1',
  verbose: false,
}

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Configuration

Returns a new instance of Configuration.



14
15
16
# File 'lib/garage_client/configuration.rb', line 14

def initialize(options = {})
  @options = options
end

Class Method Details

.keysObject



10
11
12
# File 'lib/garage_client/configuration.rb', line 10

def self.keys
  DEFAULTS.keys + [:endpoint, :headers]
end

Instance Method Details

#default_user_agentObject



52
53
54
# File 'lib/garage_client/configuration.rb', line 52

def default_user_agent
  "garage_client #{GarageClient::VERSION} #{name}"
end

#endpointObject



36
37
38
# File 'lib/garage_client/configuration.rb', line 36

def endpoint
  options[:endpoint] or raise 'Configuration error: missing endpoint'
end

#endpoint=(value) ⇒ Object



40
41
42
# File 'lib/garage_client/configuration.rb', line 40

def endpoint=(value)
  options[:endpoint] = value
end

#headersObject Also known as: default_headers



56
57
58
59
60
61
62
63
# File 'lib/garage_client/configuration.rb', line 56

def headers
  options.fetch(:headers) do
    {
      'Accept' => 'application/json',
      'User-Agent' => default_user_agent,
    }
  end
end

#headers=(value) ⇒ Object Also known as: default_headers=



65
66
67
# File 'lib/garage_client/configuration.rb', line 65

def headers=(value)
  options[:headers] = value
end

#nameObject



44
45
46
# File 'lib/garage_client/configuration.rb', line 44

def name
  options[:name] or raise 'Configuration error: missing name'
end

#name=(value) ⇒ Object



48
49
50
# File 'lib/garage_client/configuration.rb', line 48

def name=(value)
  options[:name] = value
end

#optionsObject



18
19
20
# File 'lib/garage_client/configuration.rb', line 18

def options
  @options ||= {}
end

#resetObject



22
23
24
# File 'lib/garage_client/configuration.rb', line 22

def reset
  @options = nil
end