Class: Freeswitch::ESL::Configuration

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

Constant Summary collapse

DEFAULTS =
{
  freeswitch: {
    host: ENV.fetch("FREESWITCH_ESL_HOST", "127.0.0.1"),
    port: ENV.fetch("FREESWITCH_ESL_PORT", 8021).to_i,
    password: ENV.fetch("FREESWITCH_ESL_PASSWORD", "ClueCon"),
    timeout: ENV.fetch("FREESWITCH_ESL_TIMEOUT", 5).to_i,
    retry_delay: ENV.fetch("FREESWITCH_ESL_RETRY_DELAY", 1.0).to_f,
    max_retries: Float::INFINITY
  },
  logger: Freeswitch::ESL::Logger.default_logger
}.freeze

Class Method Summary collapse

Class Method Details

.build(**options) ⇒ Object



21
22
23
24
25
26
# File 'lib/freeswitch/esl/configuration.rb', line 21

def build(**options)
  config = Configatron::RootStore.new
  config.freeswitch.configure_from_hash(DEFAULTS[:freeswitch].dup.merge(options[:freeswitch] || {}))
  config.logger = options[:logger] || DEFAULTS[:logger]
  config
end