Class: Monokera::SDK::Configuration

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/monokera/sdk/configuration.rb

Direct Known Subclasses

Configurator

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#cache_durationObject



32
33
34
# File 'lib/monokera/sdk/configuration.rb', line 32

def cache_duration
  @cache_duration ||= ENV.fetch("#{service_name_configuration_prefix}_CACHE_DURATION", 5).to_i.minutes
end

#hostObject



16
17
18
# File 'lib/monokera/sdk/configuration.rb', line 16

def host
  @host ||= ENV.fetch("#{service_name_configuration_prefix}_API_URL")
end

#open_timeoutObject



28
29
30
# File 'lib/monokera/sdk/configuration.rb', line 28

def open_timeout
  @open_timeout ||= ENV.fetch("#{service_name_configuration_prefix}_API_OPEN_TIMEOUT", timeout).to_i
end

#timeoutObject



24
25
26
# File 'lib/monokera/sdk/configuration.rb', line 24

def timeout
  @timeout ||= ENV.fetch("#{service_name_configuration_prefix}_API_TIMEOUT", 10).to_i
end

#tokenObject



20
21
22
# File 'lib/monokera/sdk/configuration.rb', line 20

def token
  @token ||= ENV.fetch("#{service_name_configuration_prefix}_API_TOKEN")
end

Class Method Details

.configure {|instance| ... } ⇒ Object

Yields:

  • (instance)


45
46
47
48
# File 'lib/monokera/sdk/configuration.rb', line 45

def self.configure(&block)
  yield(instance) if block.present?
  instance
end

Instance Method Details

#loggerObject



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

def logger
  @logger ||= defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
end

#logger=(logger) ⇒ Object



40
41
42
43
# File 'lib/monokera/sdk/configuration.rb', line 40

def logger=(logger)
  logger = Logger.new(logger) if logger.is_a?(String)
  @logger = logger
end

#service_nameObject



12
13
14
# File 'lib/monokera/sdk/configuration.rb', line 12

def service_name
  raise('Service\'s name not defined')
end