ec2ctl 0.9.7 → 0.9.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ec2ctl/cli.rb +22 -13
- data/lib/ec2ctl/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f5b98d7b9d9b2dd4e25ba115a464bbfc026a5bff
|
4
|
+
data.tar.gz: 815717a464313caf8711ac002e94abd894d187a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5deacc01b22e5668574e35bedeb9166fad61447cb8ee5c323fc334e3cffb62d91cb358ead0d3760b8f347abaae7bf61e59f3d1ca8fbe1aad86edca50e34cfdd
|
7
|
+
data.tar.gz: 830310f036cfa898145f3d46c6d25f548d5fcdde7d864c56960b2b5cb15cd435ce6545be8d1a11a94f44068d01ae646e4c87aba37c512c7bc08f4b5708fb7868
|
data/lib/ec2ctl/cli.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require "commander"
|
2
2
|
require "ec2ctl/logger"
|
3
3
|
require "pathname"
|
4
|
+
require "json"
|
4
5
|
|
5
6
|
module EC2Ctl
|
6
7
|
class CLI
|
@@ -8,7 +9,7 @@ module EC2Ctl
|
|
8
9
|
|
9
10
|
OptionError = Class.new RuntimeError
|
10
11
|
|
11
|
-
|
12
|
+
OPTION_FILE_NAME = ".ec2ctlrc".freeze
|
12
13
|
|
13
14
|
DEFAULT_OPTIONS = {
|
14
15
|
"ec2 list" => {
|
@@ -167,7 +168,7 @@ module EC2Ctl
|
|
167
168
|
private
|
168
169
|
|
169
170
|
def init_client(options)
|
170
|
-
|
171
|
+
global_opt = %i(
|
171
172
|
verbose
|
172
173
|
pretty
|
173
174
|
output
|
@@ -178,7 +179,7 @@ module EC2Ctl
|
|
178
179
|
help
|
179
180
|
)
|
180
181
|
|
181
|
-
@client = EC2Ctl::Client.new options.__hash__.reject {|k, v|
|
182
|
+
@client = EC2Ctl::Client.new options.__hash__.reject {|k, v| global_opt.include? k}.merge(logger: logger)
|
182
183
|
end
|
183
184
|
|
184
185
|
def logger
|
@@ -268,19 +269,12 @@ module EC2Ctl
|
|
268
269
|
|
269
270
|
def handle_options(_command, opt)
|
270
271
|
default_opt = DEFAULT_OPTIONS[_command.name]
|
272
|
+
file_opt = options_from_file[_command.name]
|
271
273
|
|
272
|
-
|
273
|
-
|
274
|
-
JSON.load(File.read(USER_OPTION_FILE_PATH))
|
274
|
+
[default_opt, file_opt].each do |o|
|
275
|
+
o.each {|k, v| opt.default k.intern => v} if o
|
275
276
|
end
|
276
277
|
|
277
|
-
if user_options && user_options[_command.name]
|
278
|
-
user_options[_command.name].each do |k, v|
|
279
|
-
default_opt.update k.intern => v
|
280
|
-
end
|
281
|
-
end
|
282
|
-
|
283
|
-
opt.default default_opt if default_opt
|
284
278
|
handle_global_options opt
|
285
279
|
end
|
286
280
|
|
@@ -291,5 +285,20 @@ module EC2Ctl
|
|
291
285
|
ENV["AWS_PROFILE"] = opt.profile if opt.profile
|
292
286
|
ENV["AWS_REGION"] = opt.region if opt.region
|
293
287
|
end
|
288
|
+
|
289
|
+
def options_from_file
|
290
|
+
pathnames = [
|
291
|
+
Pathname.new(Dir.pwd).ascend.to_a,
|
292
|
+
Pathname.new(Dir.home),
|
293
|
+
].flatten.map do |pathname|
|
294
|
+
pathname + OPTION_FILE_NAME
|
295
|
+
end
|
296
|
+
|
297
|
+
pathnames.each do |pathname|
|
298
|
+
return JSON.load File.read(pathname) if File.exists? pathname
|
299
|
+
end
|
300
|
+
|
301
|
+
{}
|
302
|
+
end
|
294
303
|
end
|
295
304
|
end
|
data/lib/ec2ctl/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ec2ctl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yoriki Yamaguchi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|