class Terraspace::Terraform::Args::Custom
Attributes
name[RW]
Public Class Methods
new(mod, name)
click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 8 def initialize(mod, name) @mod, @name = mod, name @commands = {} end
Public Instance Methods
args()
click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 20 def args build args = dig("args") args.compact.flatten end
build()
click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 13 def build evaluate_file("#{Terraspace.root}/config/args/terraform.rb") evaluate_file("#{@mod.root}/config/args/terraform.rb") @commands.deep_stringify_keys! end
dig(prop, default=[])
click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 42 def dig(prop, default=[]) @commands.dig(@name, prop) || default end
env_vars()
click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 33 def env_vars build dig("env", {}) end
var_file_exist?(var_file)
click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 38 def var_file_exist?(var_file) File.exist?("#{@mod.cache_dir}/#{var_file}") end
var_files()
click to toggle source
# File lib/terraspace/terraform/args/custom.rb, line 26 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