Sha256: c9f8c367b69e76a595209ac03aa6f6127a19399b2404fd1de104f161a8b090f2

Contents?: true

Size: 890 Bytes

Versions: 2

Compression:

Stored size: 890 Bytes

Contents

require 'socket'

module TerraformDevKit
  class Environment
    attr_reader :name

    def initialize(name)
      raise 'Environment must not be null' if name.nil?
      raise "Invalid environment name: #{name}" unless /^[0-9a-zA-Z]+$/ =~ name
      @name = name.downcase
    end

    def config
      case @name
      when 'prod'
        'prod'
      when 'test'
        'test'
      else
        'dev'
      end
    end

    def local_backend?
      case @name
      when 'prod', 'test'
        false
      else
        true
      end
    end

    def working_dir
      "envs/#{@name}"
    end

    def self.temp_name
      hostname = Socket.gethostname
      date = Time.now.strftime('%y%m%d%H%M')
      "#{hostname}#{date}"
    end

    def self.running_on_jenkins?
      ENV.key?('JENKINS_URL') && ENV.key?('BUILD_ID')
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
TerraformDevKit-0.1.11 lib/TerraformDevKit/environment.rb
TerraformDevKit-0.1.10 lib/TerraformDevKit/environment.rb