Sha256: 0b06e28eedbe0271d203adab4df5e6559db66d8f2b031f08c81d81a3843ae95e
Contents?: true
Size: 877 Bytes
Versions: 25
Compression:
Stored size: 877 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/cloud/vars.{rb,json}").first end end end
Version data entries
25 entries across 25 versions & 1 rubygems