Class: Syphon::Railtie

Inherits:
Rails::Railtie
  • Object
show all
Defined in:
lib/syphon/railtie.rb

Class Method Summary collapse

Class Method Details

.set_configuration(params = {}) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/syphon/railtie.rb', line 22

def set_configuration(params = {})
  env, root, app_name, dbconfig =
    params.values_at(:env, :root, :app_name, :dbconfig)

  path = "#{root}/config/syphon.yml"
  if File.exist?(path)
    erb = File.read(path)
    yaml = ERB.new(erb).result
    config = YAML.load(yaml)[env]
  end

  config ||= {}
  config.symbolize_keys!
  config[:log] = normalize_log(env, root, config[:log])
  config[:database] ||= (dbconfig["#{env}_syphon"] || dbconfig[env]).dup
  config[:index_namespace] ||= "#{app_name.underscore}_#{env}"
  config[:database].try(:symbolize_keys!)
  config[:elasticsearch].try(:symbolize_keys!)
  Syphon.configuration = config
end