Module: UserTrackers::Configuration

Defined in:
lib/user_trackers/configuration.rb

Class Method Summary collapse

Class Method Details

.config_pathObject



6
7
8
# File 'lib/user_trackers/configuration.rb', line 6

def self.config_path
  'config/user_trackers.yml'
end

.get_yml_optionsObject



10
11
12
13
# File 'lib/user_trackers/configuration.rb', line 10

def self.get_yml_options
  opts = parse_config(config_path)
  opts
end

.parse_config(path) ⇒ Object



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

def self.parse_config(path)
  opts = YAML.load(ERB.new(File.read(path)).result) || {}

  if opts.respond_to? :deep_symbolize_keys!
    opts.deep_symbolize_keys!
  else
    symbolize_keys_deep!(opts)
  end

  opts
end

.symbolize_keys_deep!(hash) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/user_trackers/configuration.rb', line 27

def self.symbolize_keys_deep!(hash)
  hash.keys.each do |k|
    symkey = k.respond_to?(:to_sym) ? k.to_sym : k
    hash[symkey] = hash.delete k
    symbolize_keys_deep! hash[symkey] if hash[symkey].is_a? Hash
  end
end