Class: Terraspace::Terraform::Args::Custom
- Inherits:
-
Object
- Object
- Terraspace::Terraform::Args::Custom
show all
- Extended by:
- Memoist
- Includes:
- DslEvaluator, Dsl
- Defined in:
- lib/terraspace/terraform/args/custom.rb
Constant Summary
Constants included
from Shorthands
Shorthands::COMMANDS_WITH_INPUT, Shorthands::COMMANDS_WITH_LOCKING, Shorthands::COMMANDS_WITH_PARALLELISM, Shorthands::COMMANDS_WITH_VARS
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Dsl
#command, #each_command, #shorthand?, #shorthand_commands
Methods included from Shorthands
#shorthands
Constructor Details
#initialize(mod, name) ⇒ Custom
Returns a new instance of Custom.
8
9
10
11
12
|
# File 'lib/terraspace/terraform/args/custom.rb', line 8
def initialize(mod, name)
@mod, @name = mod, name
@file = "#{Terraspace.root}/config/cli/args.rb"
@commands = {}
end
|
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
7
8
9
|
# File 'lib/terraspace/terraform/args/custom.rb', line 7
def name
@name
end
|
Instance Method Details
#args ⇒ Object
21
22
23
24
25
|
# File 'lib/terraspace/terraform/args/custom.rb', line 21
def args
build
args = dig("args")
args.compact.flatten
end
|
#build ⇒ Object
14
15
16
17
18
|
# File 'lib/terraspace/terraform/args/custom.rb', line 14
def build
return @commands unless File.exist?(@file)
evaluate_file(@file)
@commands.deep_stringify_keys!
end
|
#dig(prop, default = []) ⇒ Object
43
44
45
|
# File 'lib/terraspace/terraform/args/custom.rb', line 43
def dig(prop, default=[])
@commands.dig(@name, prop) || default
end
|
#env_vars ⇒ Object
34
35
36
37
|
# File 'lib/terraspace/terraform/args/custom.rb', line 34
def env_vars
build
dig("env", {})
end
|
#var_file_exist?(var_file) ⇒ Boolean
39
40
41
|
# File 'lib/terraspace/terraform/args/custom.rb', line 39
def var_file_exist?(var_file)
File.exist?("#{@mod.cache_dir}/#{var_file}")
end
|
#var_files ⇒ Object
27
28
29
30
31
32
|
# File 'lib/terraspace/terraform/args/custom.rb', line 27
def var_files
build
var_files = dig("var_files")
var_files.select! { |f| var_file_exist?(f) }
var_files.map { |f| "-var-file=#{f}" }
end
|