Class: Firmenwissen::Configuration

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

Defined Under Namespace

Modules: Accessors

Constant Summary collapse

SETTINGS =
i[endpoint password mock_data mock_requests persistent_session timeout user authentication_strategy api_key]
DEFAULT_SETTINGS =
{
  endpoint: 'https://www.firmenwissen.de/search/suggest/companywithaddress/{query}{?country}',
  mock_requests: false,
  mock_data: [],
  persistent_session: false,
  timeout: 5,
  authentication_strategy: "basic"
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Configuration

Returns a new instance of Configuration.



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

def initialize(options = {})
  @settings = DEFAULT_SETTINGS.dup.merge(options)
end

Instance Attribute Details

#settingsObject (readonly)

Returns the value of attribute settings.



34
35
36
# File 'lib/firmenwissen/configuration.rb', line 34

def settings
  @settings
end

Instance Method Details

#api_key_present?Boolean

Returns:

  • (Boolean)


56
57
58
# File 'lib/firmenwissen/configuration.rb', line 56

def api_key_present?
  api_key.is_a?(String) && !api_key.empty?
end

#credentials_present?Boolean

Returns:

  • (Boolean)


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

def credentials_present?
  [user, password].all? { |setting| setting.is_a?(String) && !setting.empty? }
end

#merge(options) ⇒ Object



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

def merge(options)
  Configuration.new(settings.merge(options))
end

#mock_requests?Boolean

Returns:

  • (Boolean)


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

def mock_requests?
  mock_requests
end

#persistent_session?Boolean

Returns:

  • (Boolean)


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

def persistent_session?
  persistent_session
end