Module: Demeter

Defined in:
lib/demeter.rb,
lib/demeter/cli.rb,
lib/demeter/version.rb,
lib/demeter/commands/base.rb,
lib/demeter/commands/plan.rb,
lib/demeter/commands/apply.rb,
lib/demeter/commands/status.rb,
lib/demeter/commands/generate.rb,
lib/demeter/aws/security_group.rb,
lib/demeter/aws/manage_security_groups.rb

Defined Under Namespace

Modules: Aws, Commands Classes: Cli

Constant Summary collapse

DEFAULT_ENV =
'development'.freeze
VERSION =

Defines the version

Since:

  • 0.0.1

'0.0.4'.freeze

Class Method Summary collapse

Class Method Details

.envObject



14
15
16
# File 'lib/demeter.rb', line 14

def self.env
  @environment ||= ENV['DEMETER_ENV'] || ENV['ENV'] || DEFAULT_ENV 
end

.root(root = nil) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/demeter.rb', line 6

def self.root(root=nil)
  if root
    @root ||= root
  else
    @root ||= Pathname.new(Dir.pwd)
  end
end

.set_var(key, value) ⇒ Object



43
44
45
46
47
# File 'lib/demeter.rb', line 43

def self.set_var(key, value)
  vars = self.vars
  vars[key] = value
  @vars = vars
end

.varsObject



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

def self.vars
  @vars ||= begin
    global_vars = {}
    env_vars = {}
    global_path = File.join(Demeter::root, "/variables/global.yml")
    environment_path = File.join(Demeter::root, "/variables/#{self.env}.yml")

    if File.exists?(global_path)
      global_vars = YAML::load_file(global_path)
      global_vars = Hash[global_vars.map{|k,v| ["global.#{k}",v]}]
    else
      fail "Global file /variables/global.yml not found! Add it before rerunning..."
    end

    if File.exists?(environment_path)
      env_vars = YAML::load_file(environment_path)
      env_vars = Hash[env_vars.map{|k,v| ["env.#{k}",v]}]
    else
      fail "Environment file /variables/#{Demeter::env}.yml not found! Add it before rerunning..."
    end

    global_vars.merge!(env_vars)
  end
end