Class: Fanforce::Factory::Env

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Singleton
Defined in:
lib/fanforce/factory/env.rb

Instance Method Summary collapse

Instance Method Details

#load_vars_by_addon(environment) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/fanforce/factory/env.rb', line 6

def load_vars_by_addon(environment)
  bindings = YAML.load_file("#{$HomeDir}/.env/_bind.yml")
  result = bindings.inject({}) do |result, (filename, dir_names)|
    file = YAML.load_file("#{$HomeDir}/.env/#{filename}.yml").symbolize_keys
    if file[environment].blank?
      next result
    end

    dir_names = Fanforce::Factory::Addons.dir_names if dir_names.is_a?(String) and dir_names.upcase == 'ALL'
    file[environment].each do |k,v|
      dir_names.each do |d|
        result[d] ||= {}
        result[d]["#{filename}_#{k}".upcase] = v
        d_parts = Fanforce::Factory::Addon.parse_dir_name(d)
        result[d]["fanforce_#{d_parts[:type]}_id".upcase] = d_parts[:_id] if d_parts
      end
    end
    result
  end
end

#vars_by_addon(environment) ⇒ Object



27
28
29
30
# File 'lib/fanforce/factory/env.rb', line 27

def vars_by_addon(environment)
  @vars ||= {}
  @vars[environment] ||= load_vars_by_addon(environment)
end