Module: LogicalConstruct
- Defined in:
- lib/logical-construct/resolving-task.rb,
lib/logical-construct/satisfiable-task.rb,
lib/logical-construct/target/chef-solo.rb,
lib/logical-construct/target/platforms.rb,
lib/logical-construct/target/provision.rb,
lib/logical-construct/ground-control/core.rb,
lib/logical-construct/ground-control/setup.rb,
lib/logical-construct/target/platforms/aws.rb,
lib/logical-construct/target/unpack-cookbook.rb,
lib/logical-construct/testing/resolving-task.rb,
lib/logical-construct/target/sinatra-resolver.rb,
lib/logical-construct/ground-control/provision.rb,
lib/logical-construct/target/platforms/virtualbox.rb,
lib/logical-construct/ground-control/run-on-target.rb,
lib/logical-construct/testing/resolve-configuration.rb,
lib/logical-construct/ground-control/setup/copy-files.rb,
lib/logical-construct/target/platforms/default/volume.rb,
lib/logical-construct/ground-control/setup/build-files.rb,
lib/logical-construct/ground-control/setup/install-init.rb,
lib/logical-construct/target/platforms/virtualbox/volume.rb,
lib/logical-construct/target/platforms/default/chef-config.rb,
lib/logical-construct/target/platforms/default/resolve-configuration.rb,
lib/logical-construct/ground-control/setup/create-construct-directory.rb
Defined Under Namespace
Modules: AWS, Default, GroundControl, PlatformSpecific, ResolutionProtocol, SatisfiableManager, Testing, VirtualBox
Classes: BuildFiles, ChefSolo, ConfigBuilder, CopyFiles, CreateConstructDirectory, GenerateManifest, Manifest, Provision, RemoteCopyFile, ResolvingTask, RunOnTarget, SatisfiableEnvTask, SatisfiableFileTask, SatisfiableTask, SinatraResolver, UnpackCookbook
Class Method Summary
collapse
Class Method Details
27
28
29
30
31
32
33
34
35
36
37
38
|
# File 'lib/logical-construct/target/platforms.rb', line 27
def self.Platform(explicit = nil)
name = explicit || $DEPLOYMENT_PLATFORM || ENV['LOGCON_DEPLOYMENT_PLATFORM']
return platforms.fetch(name)
rescue KeyError
puts "Cannot find platform specified:"
puts " explicit argument: #{explicit.inspect}"
puts " $DEPLOYMENT_PLATFORM: #{$DEPLOYMENT_PLATFORM.inspect}"
puts " ENV['LOGCON_DEPLOYMENT_PLATFORM']: #{ENV['LOGCON_DEPLOYMENT_PLATFORM'].inspect}"
puts " available: #{platforms.keys.inspect}"
puts
raise
end
|
2
3
4
|
# File 'lib/logical-construct/target/platforms.rb', line 2
def self.platforms
@platforms ||= {}
end
|
6
7
8
9
|
# File 'lib/logical-construct/target/platforms.rb', line 6
def self.register_platform(mod)
name = mod.name.split('::').last
platforms[name] = mod
end
|
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/logical-construct/target/platforms.rb', line 11
def self.require_platform_files(platform, mod = nil)
[
['volume', :Volume],
['chef-config', :ChefConfig],
['resolve-configuration', :ResolveConfiguration],
].each do |file, classname|
begin
require File::join('logical-construct', 'target', 'platforms', platform, file)
rescue LoadError
raise if mod.nil?
klass = Class.new(LogicalConstruct::Default.const_get(classname))
mod.const_set(classname, klass)
end
end
end
|