Sha256: 154538adc23f67b1c1affcc1fb4546c4228f80ba939bbabe7ec4194809054368
Contents?: true
Size: 875 Bytes
Versions: 71
Compression:
Stored size: 875 Bytes
Contents
class Terraspace::Terraform::Api class Vars extend Memoist include Http::Concern # workspace: details from the api response def initialize(mod, workspace) @mod, @workspace = mod, workspace end def run return unless exist? vars = vars_class.new(@mod, vars_path).vars vars.each do |attrs| Var.new(@workspace, attrs).sync end end # Return value examples: # # Terraspace::Terraform::Api::Vars::Json # Terraspace::Terraform::Api::Vars::Rb # def vars_class ext = File.extname(vars_path).sub('.','') "Terraspace::Terraform::Api::Vars::#{ext.camelize}".constantize end def exist? !!vars_path end def vars_path # .rb takes higher precedence Dir.glob("#{Terraspace.root}/config/terraform/tfc/vars.{rb,json}").first end end end
Version data entries
71 entries across 71 versions & 1 rubygems