Class: TerraformDevKit::Environment
- Inherits:
-
Object
- Object
- TerraformDevKit::Environment
- Defined in:
- lib/TerraformDevKit/environment.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
Instance Method Summary collapse
- #config ⇒ Object
-
#initialize(name) ⇒ Environment
constructor
A new instance of Environment.
- #local_backend? ⇒ Boolean
- #working_dir ⇒ Object
Constructor Details
#initialize(name) ⇒ Environment
Returns a new instance of Environment.
7 8 9 10 |
# File 'lib/TerraformDevKit/environment.rb', line 7 def initialize(name) /^[0-9a-zA-Z]+$/ =~ name || (raise "Invalid environment name: #{name}") @name = name.downcase end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
5 6 7 |
# File 'lib/TerraformDevKit/environment.rb', line 5 def name @name end |
Class Method Details
.running_on_jenkins? ⇒ Boolean
44 45 46 |
# File 'lib/TerraformDevKit/environment.rb', line 44 def self.running_on_jenkins? ENV.key?('JENKINS_URL') && ENV.key?('BUILD_ID') end |
.temp_name ⇒ Object
37 38 39 40 41 42 |
# File 'lib/TerraformDevKit/environment.rb', line 37 def self.temp_name hostname = Socket.gethostname date = Time.now.strftime('%y%m%d%H%M') env = "#{hostname}#{date}" env.gsub(/[^0-9a-zA-Z]/, '') end |
Instance Method Details
#config ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/TerraformDevKit/environment.rb', line 12 def config case @name when 'prod' 'prod' when 'test' 'test' else 'dev' end end |
#local_backend? ⇒ Boolean
23 24 25 26 27 28 29 30 |
# File 'lib/TerraformDevKit/environment.rb', line 23 def local_backend? case @name when 'prod', 'test' false else true end end |
#working_dir ⇒ Object
32 33 34 35 |
# File 'lib/TerraformDevKit/environment.rb', line 32 def working_dir # TODO: get rid of ROOT_PATH File.join(ROOT_PATH, 'envs', @name) end |