terragov 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 87f96c82addb19f7bef1a8cfe8d13f6ae8e4934a
4
- data.tar.gz: 4e3c853e0546749ba0d540b47914362ab866bf65
3
+ metadata.gz: 8eeeed1f01e2992de5ea9148713142c55d55a4ed
4
+ data.tar.gz: 7f226cfef4d9be1f52c84395a80dbcf30ebf4038
5
5
  SHA512:
6
- metadata.gz: a2d28c592c38238cb6d3276771689fa5079727f9f95505a82de7be36a5281eab71617cac21c7dc88a89c0e26896f1995612dc4086a7e79646eb17f1d9d2d2e62
7
- data.tar.gz: 189846a9f1ed46f1c790b5b5ca79725d46b85ac166467c45aad8566a2e5e6d0f818dc5110fd01bfbf905710e2cd5fb4254f94c5d5ac0035f91e72f9aba627067
6
+ metadata.gz: 52f00a1308725247148750c67bab42f4daef588c7e0d6e8716420403734d56deb8cd0eff66166162cb5fd874fe60458f02780953e65a9f10d0edb69ea5abaa09
7
+ data.tar.gz: 9dc2c6a7cf98f0bb0b15c5f8a53f7900bd3541bfbbc85a04ea727ca650cb712b57f5de65412a835c0f2e4b1868d61f55e27ca438f5b162ed0ad1cfe97e01adcf
data/lib/terragov/cli.rb CHANGED
@@ -52,94 +52,76 @@ module Terragov
52
52
 
53
53
  end
54
54
 
55
- def load_config_file
56
- if $config_file || ENV['TERRAGOV_CONFIG_FILE']
57
- file = $config_file || ENV['TERRAGOV_CONFIG_FILE']
58
- $values = YAML.load_file(File.expand_path(file))
59
- return $values
60
- else
61
- return false
62
- end
63
- end
64
-
65
55
  def data_dir
66
- error_message = "Must provided the data directory. See --help for details"
67
- if $data_dir
68
- return File.expand_path($data_dir)
69
- elsif ENV['TERRAGOV_DATA_DIR']
70
- return File.expand_path(ENV['TERRAGOV_DATA_DIR'])
71
- elsif load_config_file
72
- return File.expand_path(load_config_file['data_dir'])
73
- else
74
- abort(error_message)
75
- end
56
+ return $data_dir ? $data_dir : false
76
57
  end
77
58
 
78
59
  def environment
79
- error_message = "Must set AWS environment. Use --help for details"
80
- if $environment
81
- return $environment
82
- elsif ENV['TERRAGOV_ENVIRONMENT']
83
- return ENV['TERRAGOV_ENVIRONMENT']
84
- elsif load_config_file
85
- return load_config_file['environment']
86
- else
87
- abort(error_message)
88
- end
60
+ return $environment ? $environment : false
89
61
  end
90
62
 
91
63
  def project
92
- error_message = "Must set AWS project. Use --help for details"
93
-
94
- if $project
95
- return $project
96
- elsif ENV['TERRAGOV_PROJECT']
97
- return ENV['TERRAGOV_PROJECT']
98
- elsif load_config_file
99
- return load_config_file['project']
100
- else
101
- abort(error_message)
102
- end
64
+ return $project ? $project : false
103
65
  end
104
66
 
105
67
  def repo_dir
106
-
107
- if $repo_dir
108
- return File.expand_path($repo_dir)
109
- elsif ENV['TERRAGOV_REPO_DIR']
110
- return File.expand_path(ENV['TERRAGOV_REPO_DIR'])
111
- elsif load_config_file
112
- return File.expand_path(load_config_file['repo_dir'])
113
- else
114
- return File.expand_path('.')
115
- end
68
+ return $repo_dir ? $repo_dir : false
116
69
  end
117
70
 
118
71
  def stack
119
- error_message = "Must set AWS stackname. Use --help for details"
120
-
121
- if $stack
122
- return $stack
123
- elsif ENV['TERRAGOV_STACK']
124
- return ENV['TERRAGOV_STACK']
125
- elsif load_config_file
126
- return load_config_file['stack']
127
- else
128
- abort(error_message)
129
- end
72
+ return $stack ? $stack : false
130
73
  end
131
74
 
132
75
  def extra
133
76
  return $extra if $extra
134
77
  end
135
78
 
79
+ def load_config_file
80
+ if $config_file || ENV['TERRAGOV_CONFIG_FILE']
81
+ file = $config_file || ENV['TERRAGOV_CONFIG_FILE']
82
+ $values = YAML.load_file(File.expand_path(file))
83
+ return $values
84
+ end
85
+ end
86
+
87
+ def config(option, file=false)
88
+ env_var = "TERRAGOV_#{option.upcase}"
89
+ error_message = "Must set #{option}. Use --help for details."
90
+ #require 'pry'; binding.pry
91
+ if public_send(option)
92
+ if file
93
+ return File.expand_path(public_send(option))
94
+ else
95
+ return public_send(option)
96
+ end
97
+ elsif ENV[env_var]
98
+ if file
99
+ return File.expand_path(ENV[env_var])
100
+ else
101
+ return ENV[env_var]
102
+ end
103
+ elsif !load_config_file.nil?
104
+ unless load_config_file[option].nil?
105
+ if file
106
+ return File.expand_path(load_config_file[option])
107
+ else
108
+ return load_config_file[option]
109
+ end
110
+ else
111
+ abort(error_message)
112
+ end
113
+ else
114
+ abort(error_message)
115
+ end
116
+ end
117
+
136
118
  def cmd_options
137
119
  cmd_options_hash = {
138
- "environment" => environment,
139
- "data_dir" => data_dir,
140
- "project" => project,
141
- "stack" => stack,
142
- "repo_dir" => repo_dir,
120
+ "environment" => config('environment'),
121
+ "data_dir" => config('data_dir', true),
122
+ "project" => config('project'),
123
+ "stack" => config('stack'),
124
+ "repo_dir" => config('repo_dir', true),
143
125
  "extra" => extra,
144
126
  }
145
127
  return cmd_options_hash
@@ -1,3 +1,3 @@
1
1
  module Terragov
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
data/terragov.gemspec CHANGED
@@ -14,6 +14,8 @@ Gem::Specification.new do |spec|
14
14
  spec.homepage = "https://github.com/surminus/terragov"
15
15
  spec.license = "MIT"
16
16
 
17
+ spec.required_ruby_version = '>= 2.2.2'
18
+
17
19
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
20
  f.match(%r{^(test|spec|features)/})
19
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terragov
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Laura Martin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-17 00:00:00.000000000 Z
11
+ date: 2017-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: commander
@@ -121,7 +121,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '0'
124
+ version: 2.2.2
125
125
  required_rubygems_version: !ruby/object:Gem::Requirement
126
126
  requirements:
127
127
  - - ">="
@@ -129,7 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
129
  version: '0'
130
130
  requirements: []
131
131
  rubyforge_project:
132
- rubygems_version: 2.5.1
132
+ rubygems_version: 2.6.8
133
133
  signing_key:
134
134
  specification_version: 4
135
135
  summary: Wrapper for GOV.UK Terraform deployments.