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
41
42
43
44
# 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
    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

  # Process aliases
  @environments.values.each do |env|
    env.aliases.each {|env_alias| @environments[env_alias] = 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