Class: Fanforce::CLI::Env

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

Instance Method Summary collapse

Instance Method Details

#load_vars_by_app(environment) ⇒ Object



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

def load_vars_by_app(environment)
  vars = {}
  Fanforce::CLI::Apps.dir_names.each do |dir_name|
    vars[dir_name] ||= {}
    vars[dir_name]['FANFORCE_APP_ID'] = Fanforce::CLI::App.parse_dir_name(dir_name)[:_id]
  end

  raw_yaml = File.read("#{$HomeDir}/.env/_bind.yml")
  bindings = (raw_yaml.present?) ? YAML.load(raw_yaml) : {}
  bindings.each do |filename, dir_names|
    file = YAML.load_file("#{$HomeDir}/.env/#{filename}.yml").symbolize_keys
    next if file[environment].blank?

    dir_names = Fanforce::CLI::Apps.dir_names if dir_names.is_a?(String) and dir_names.upcase == 'ALL'
    file[environment].each do |k,v|
      dir_names.each do |dir_name|
        vars[dir_name] ||= {}
        vars[dir_name]["#{filename}_#{k}".upcase] = v
      end
    end
  end

  return vars
end

#vars_by_app(environment) ⇒ Object



31
32
33
34
# File 'lib/fanforce/cli/env.rb', line 31

def vars_by_app(environment)
  @vars ||= {}
  @vars[environment] ||= load_vars_by_app(environment)
end