Module: Magellan::Worker::Config

Defined in:
lib/magellan/worker/config.rb

Class Method Summary collapse

Class Method Details

.env_compatible(new_env, old_env) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/magellan/worker/config.rb', line 19

def env_compatible(new_env, old_env)
  if ENV[new_env].present?
    ENV[new_env]
  else
    ENV[old_env]
  end
end

.load_configObject



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/magellan/worker/config.rb', line 27

def load_config()
  config = {}
  config[:host]              = env_compatible('MAGELLAN_WORKER_AMQP_ADDR', 'RABBITMQ_PORT_5672_TCP_ADDR')
  config[:port]              = env_compatible('MAGELLAN_WORKER_AMQP_PORT', 'RABBITMQ_PORT_5672_TCP_PORT')
  config[:vhost]             = env_compatible('MAGELLAN_WORKER_AMQP_VHOST', 'VHOST')
  config[:rabbitmq_user]     = env_compatible('MAGELLAN_WORKER_AMQP_USER', 'RABBITMQ_USER')
  config[:rabbitmq_password] = env_compatible('MAGELLAN_WORKER_AMQP_PASS', 'RABBITMQ_PASS')
  config[:request_queue]     = env_compatible('MAGELLAN_WORKER_REQUEST_QUEUE', 'REQUEST_QUEUE')
  config[:response_exchange] = env_compatible('MAGELLAN_WORKER_RESPONSE_EXCHANGE', 'RESPONSE_EXCHANGE')
  config[:http_worker]       = parse_boolean(ENV['MAGELLAN_HTTP_WORKER'], true)
  config[:subscriber_worker] = parse_boolean(ENV['MAGELLAN_SUBSCRIBER_WORKER'], true)
  config[:publish_host]      = ENV["MAGELLAN_PUBLISH_AMQP_ADDR"]
  config[:publish_port]      = ENV["MAGELLAN_PUBLISH_AMQP_PORT"]
  config[:publish_vhost]     = ENV["MAGELLAN_PUBLISH_AMQP_VHOST"]
  config[:publish_user]      = ENV["MAGELLAN_PUBLISH_AMQP_USER"]
  config[:publish_password]  = ENV["MAGELLAN_PUBLISH_AMQP_PASS"]
  config[:publish_exchange]  = ENV["MAGELLAN_PUBLISH_EXCHANGE"]
  config[:amqp_reconnect_timeout] = (ENV["MAGELLAN_RAILS_AMQP_RECONNECT_TIMEOUT"] || 300).to_i
  config
end

.parse_boolean(val, default_value = false) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/magellan/worker/config.rb', line 8

def parse_boolean(val, default_value=false)
  case val
  when /\A1\z/, /\Atrue\z/i, /\Ayes\z/i, /\Aon\z/
    true
  when /\A0\z/, /\Afalse\z/i, /\Ano\z/i, /\Aoff\z/
    false
  else
    default_value
  end
end