Class: EC2Launcher::EnvironmentProcessor

Inherits:
Object
  • Object
show all
Includes:
DirectoryProcessing
Defined in:
lib/ec2launcher/environment_processor.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from DirectoryProcessing

#process_directory_list

Constructor Details

#initialize(base_directory, environments_directories) ⇒ EnvironmentProcessor

Returns a new instance of EnvironmentProcessor.



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

def initialize(base_directory, environments_directories)
  env_dirs = process_directory_list(base_directory, environments_directories, "environments", "Environments", false)

  # Load other environments
  @environments = { }
  env_dirs.each do |env_dir|
    Dir.entries(env_dir).each do |env_name|
      filename = File.join(env_dir, env_name)
      next if File.directory?(filename)

      new_env = load_environment_file(filename)
      validate_environment(filename, new_env)

      @environments[new_env.name] = new_env
      new_env.aliases.each {|env_alias| @environments[env_alias] = new_env }
    end
  end

  # Process inheritance rules for environments
  @environments.values.each do |env|
    new_env = process_environment_inheritance(env)
    @environments[new_env.name] = new_env
  end
end

Instance Attribute Details

#environmentsObject

Returns the value of attribute environments.



13
14
15
# File 'lib/ec2launcher/environment_processor.rb', line 13

def environments
  @environments
end