Module: Terradactyl::Terraform
- Defined in:
- lib/terradactyl/terraform/version.rb,
lib/terradactyl/terraform/planfile.rb,
lib/terradactyl/terraform/commands/fmt.rb,
lib/terradactyl/terraform/commands/base.rb,
lib/terradactyl/terraform/commands/init.rb,
lib/terradactyl/terraform/commands/plan.rb,
lib/terradactyl/terraform/commands/show.rb,
lib/terradactyl/terraform/commands/apply.rb,
lib/terradactyl/terraform/version_manager.rb,
lib/terradactyl/terraform/commands/destroy.rb,
lib/terradactyl/terraform/commands/options.rb,
lib/terradactyl/terraform/commands/refresh.rb,
lib/terradactyl/terraform/commands/version.rb,
lib/terradactyl/terraform/commands/validate.rb,
lib/terradactyl/terraform/version_manager/binary.rb,
lib/terradactyl/terraform/version_manager/package.rb,
lib/terradactyl/terraform/version_manager/defaults.rb,
lib/terradactyl/terraform/version_manager/inventory.rb,
lib/terradactyl/terraform/version_manager/downloader.rb
Defined Under Namespace
Modules: Commands, Rev011, Rev012, Rev013, Rev014, Rev015, Rev1_00, Rev1_01, Rev1_02, Rev1_03, Rev1_04, Rev1_05, Rev1_06, Rev1_07, Rev1_08, Rev1_latest, Subcommands, VersionManager
Classes: PlanFile, PlanFileParserError
Constant Summary
collapse
- VERSION =
'1.8.2'
Class Method Summary
collapse
Class Method Details
.calc_revision(version) ⇒ Object
6
7
8
9
10
11
|
# File 'lib/terradactyl/terraform/commands/base.rb', line 6
def calc_revision(version)
major, minor = version.split(/\.|-/).take(2)
major = major.to_i.zero? ? major : major + '_'
minor = minor.nil? ? 'latest' : minor.rjust(2, '0')
['Rev', major, minor].join
end
|
.revision(version) ⇒ Object
13
14
15
|
# File 'lib/terradactyl/terraform/commands/base.rb', line 13
def revision(version)
version ? calc_revision(version) : revisions.last
end
|
.revisions ⇒ Object
17
18
19
|
# File 'lib/terradactyl/terraform/commands/base.rb', line 17
def revisions
constants.select { |c| c =~ /Rev/ }.sort
end
|
.select_revision(version, object) ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/terradactyl/terraform/commands/base.rb', line 21
def select_revision(version, object)
klass_name = object.class.name.split('::').last
revision = "#{revision(version)}::#{klass_name}"
return if klass_name == 'Base'
if Terradactyl::Terraform.const_defined?(revision)
object.extend(Terradactyl::Terraform.const_get(revision))
else
object.extend(Terradactyl::Terraform.const_get("Subcommands::#{klass_name}"))
end
end
|