Class: SimpleSegment::Configuration

Inherits:
Object
  • Object
show all
Includes:
Logging, Utils
Defined in:
lib/simple_segment/configuration.rb

Constant Summary collapse

DEFAULT_HOST =
'api.segment.io'

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Logging

#default_logger, included

Methods included from Utils

included, #isoify_dates, #isoify_dates!, #maybe_datetime_in_iso8601, #symbolize_keys

Constructor Details

#initialize(settings = {}) ⇒ Configuration

Returns a new instance of Configuration.

Raises:

  • (ArgumentError)


14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/simple_segment/configuration.rb', line 14

def initialize(settings = {})
  symbolized_settings = symbolize_keys(settings)
  @write_key = symbolized_settings[:write_key]
  @on_error = symbolized_settings[:on_error] || proc {}
  @stub = symbolized_settings[:stub]
  @logger = default_logger(symbolized_settings[:logger])
  @http_options = { use_ssl: true }
                  .merge(symbolized_settings[:http_options] || {})
  @host = symbolized_settings[:host] || DEFAULT_HOST
  raise ArgumentError, 'Missing required option :write_key' \
    unless @write_key
end

Instance Attribute Details

#hostObject (readonly)

Returns the value of attribute host.



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

def host
  @host
end

#http_optionsObject (readonly)

Returns the value of attribute http_options.



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

def http_options
  @http_options
end

#loggerObject (readonly)

Returns the value of attribute logger.



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

def logger
  @logger
end

#on_errorObject (readonly)

Returns the value of attribute on_error.



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

def on_error
  @on_error
end

#stubObject (readonly)

Returns the value of attribute stub.



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

def stub
  @stub
end

#write_keyObject (readonly)

Returns the value of attribute write_key.



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

def write_key
  @write_key
end