Sha256: 1f4eaa5ce9eb223a227be1307ce8cdde004134407d9695206f86becb492f97b8
Contents?: true
Size: 1016 Bytes
Versions: 48
Compression:
Stored size: 1016 Bytes
Contents
module Terraspace::Terraform::Args class Custom extend Memoist include Dsl include DslEvaluator attr_accessor :name def initialize(mod, name) @mod, @name = mod, name @commands = {} end def build evaluate_file("#{Terraspace.root}/config/args/terraform.rb") evaluate_file("#{@mod.root}/config/args/terraform.rb") @commands.deep_stringify_keys! end memoize :build def args terraform_args + var_file_args end def env_vars build dig("env", {}) end private def terraform_args build args = dig("args") args.compact.flatten end def var_file_args build var_files = dig("var_files") var_files.select! { |f| var_file_exist?(f) } var_files.map { |f| "-var-file=#{f}" } end def var_file_exist?(var_file) File.exist?("#{@mod.cache_dir}/#{var_file}") end def dig(prop, default=[]) @commands.dig(@name, prop) || default end end end
Version data entries
48 entries across 48 versions & 1 rubygems