kumogata 0.3.10 → 0.3.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 479281b139e795bc62314dd9a9347981eb6ac01e
4
- data.tar.gz: 2e8cec1bd6ea499537779a43c3418b674e334ae4
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ Y2UxODIxNjc5ZDcyMmU2ZTgwNmE3NDdhYWEyYzEwNDhmYmUxOTI3NA==
5
+ data.tar.gz: !binary |-
6
+ ODgzY2QxYTQ0ZGU2ZDI5MGJlYzNhMDI3NDQwMjUzZmZmZjAyNTcwYg==
5
7
  SHA512:
6
- metadata.gz: b1fe62841c65d7c06be78f6a28646b6695db44e50088ac64fea693a2b1e21a8c27de4c1f584a0cb5c944844b562965da17f3b350f0d5e4ba01381089d08ebd9a
7
- data.tar.gz: cb8bb2af5382cfacf4aa90912c98654fe74434f5159a5fcb954538cb77d94c649109a98c6827abe993ea11fe971b9c2a2c4edfd0baf3f4cd196efbd869ff7ee7
8
+ metadata.gz: !binary |-
9
+ MzdkMmIwOTgxZjllOTRhYmVmZTQyMDFkMTk1MjUyNzgyNGEzZTRiMmUzNDYw
10
+ ZWMzYjFlMTRlNmE3YzRmMTYyY2VkOWEwYzc3MjE0MmI3ZGI3YjRhNGM5ZTQw
11
+ NGFiZGRjZTAxMjNiZGMxMDIzM2YzZGZlZmI2YjRmZjBjNWFkNTA=
12
+ data.tar.gz: !binary |-
13
+ MDQxNzMzNmZiMDZiZWM4MjA0YzNhMDkwMDIxMGZkODFjOTAxZWEyOTZmY2Ew
14
+ NWE1N2RjY2E0NmU1OWJlMmQ1ZmZlMDE2OWIwNTcyOWQ5MmI2Zjc2MmQzMThi
15
+ ODdhYmZjNTczMDMwYzBlMzk1ZTU5OTA1ZWZjZThmZDUyOWFlMWU=
data/README.md CHANGED
@@ -5,8 +5,8 @@
5
5
 
6
6
  Kumogata is a tool for [AWS CloudFormation](https://aws.amazon.com/cloudformation/).
7
7
 
8
- [![Gem Version](https://badge.fury.io/rb/kumogata.png?201403110046)](http://badge.fury.io/rb/kumogata)
9
- [![Build Status](https://drone.io/github.com/winebarrel/kumogata/status.png?201403110046)](https://drone.io/github.com/winebarrel/kumogata/latest)
8
+ [![Gem Version](https://badge.fury.io/rb/kumogata.png?201403111050)](http://badge.fury.io/rb/kumogata)
9
+ [![Build Status](https://drone.io/github.com/winebarrel/kumogata/status.png?201403111050)](https://drone.io/github.com/winebarrel/kumogata/latest)
10
10
 
11
11
  It can define a template in Ruby DSL, such as:
12
12
 
@@ -19,15 +19,16 @@ class Kumogata::PostProcessing
19
19
  @command_options.merge(options)
20
20
 
21
21
  _post.fetch(:commands).each do |name, attrs|
22
+ unless attrs.kind_of?(Hash) and attrs['command']
23
+ raise "Invalid post processing: #{name} => #{attrs.inspect}"
24
+ end
25
+
22
26
  timing = [(attrs['after'] || TRIGGER_TIMING)].flatten.map {|i| i.to_sym }
23
27
  validate_timing(name, timing)
24
28
 
25
- command = attrs['command']
26
- next unless command
27
-
28
29
  @commands[name] = {
29
30
  :after => timing,
30
- :command => command,
31
+ :command => attrs['command'],
31
32
  }
32
33
 
33
34
  if (ssh = attrs['ssh'])
@@ -43,8 +44,17 @@ class Kumogata::PostProcessing
43
44
  @commands.each do |name, attrs|
44
45
  next unless attrs[:after].include?(timing)
45
46
 
47
+ print_command(name)
46
48
  out, err, status = run_command(attrs, outputs)
47
- results << print_command_result(name, out, err, status)
49
+ print_command_result(out, err, status)
50
+
51
+ results << {
52
+ name => {
53
+ 'ExitStatus' => status.to_i,
54
+ 'StdOut' => out.force_encoding('UTF-8'),
55
+ 'StdErr' => err.force_encoding('UTF-8'),
56
+ }
57
+ }
48
58
  end
49
59
 
50
60
  save_command_results(results) unless results.empty?
@@ -55,7 +65,7 @@ class Kumogata::PostProcessing
55
65
  def validate_timing(name, timing)
56
66
  timing.each do |t|
57
67
  unless TRIGGER_TIMING.include?(t)
58
- raise "Unknown post processing timing #{timing.inspect} in #{name}"
68
+ raise "Unknown post processing timing: #{name} => #{timing.inspect}"
59
69
  end
60
70
  end
61
71
  end
@@ -64,12 +74,12 @@ class Kumogata::PostProcessing
64
74
  host, user, options = ssh.values_at('host', 'user', 'options')
65
75
 
66
76
  unless host and user
67
- raise "`host` and `user` is required for post processing ssh in #{name}"
77
+ raise "`host` and `user` is required for post processing ssh: #{name}"
68
78
  end
69
79
 
70
80
  if host.kind_of?(Hash)
71
81
  if host.keys != ['Key']
72
- raise "Invalid post processing ssh host #{host.inspect} in #{name}"
82
+ raise "Invalid post processing ssh host: #{name} => #{host.inspect}"
73
83
  end
74
84
 
75
85
  host_key, host_value = host.first
@@ -80,7 +90,7 @@ class Kumogata::PostProcessing
80
90
 
81
91
  if user.kind_of?(Hash)
82
92
  if user.keys != ['Key']
83
- raise "Invalid post processing ssh user #{user.inspect} in #{name}"
93
+ raise "Invalid post processing ssh user: #{name} => #{user.inspect}"
84
94
  end
85
95
 
86
96
  user_key, user_value = user.first
@@ -90,7 +100,7 @@ class Kumogata::PostProcessing
90
100
  end
91
101
 
92
102
  if options and not options.kind_of?(Hash)
93
- raise "Invalid post processing ssh options #{user.inspect} in #{name}"
103
+ raise "Invalid post processing ssh options: #{name} => #{options.inspect}"
94
104
  end
95
105
  end
96
106
 
@@ -178,26 +188,25 @@ class Kumogata::PostProcessing
178
188
  EOS
179
189
  end
180
190
 
181
- def print_command_result(name, out, err, status)
191
+ def print_command(name)
192
+ puts <<-EOS
193
+
194
+ Command: #{name.intense_blue}
195
+ EOS
196
+ end
197
+
198
+ def print_command_result(out, err, status)
182
199
  status = status.to_i
183
200
  dspout = (out || '').lines.map {|i| "1> ".intense_green + i }.join.chomp
184
201
  dsperr = (err || '').lines.map {|i| "2> ".intense_red + i }.join.chomp
185
202
 
186
203
  puts <<-EOS
187
-
188
- Command: #{name.intense_blue}
189
204
  Status: #{status.zero? ? status : status.to_s.red}#{
190
205
  dspout.empty? ? '' : ("\n---\n" + dspout)
191
206
  }#{
192
207
  dsperr.empty? ? '' : ("\n---\n" + dsperr)
193
208
  }
194
209
  EOS
195
-
196
- {name => {
197
- 'ExitStatus' => status,
198
- 'StdOut' => out.force_encoding('UTF-8'),
199
- 'StdErr' => err.force_encoding('UTF-8'),
200
- }}
201
210
  end
202
211
 
203
212
  def save_command_results(results)
@@ -1,3 +1,3 @@
1
1
  module Kumogata
2
- VERSION = '0.3.10'
2
+ VERSION = '0.3.11'
3
3
  end
@@ -143,27 +143,30 @@ end
143
143
 
144
144
  cf.should_receive(:stacks).twice { stacks }
145
145
 
146
- process_status1 = double('process_status1')
147
- process_status2 = double('process_status2')
146
+ process_status1 = make_double('process_status1') {|obj| obj.should_receive(:to_i).and_return(0) }
147
+ process_status2 = make_double('process_status2') {|obj| obj.should_receive(:to_i).and_return(0) }
148
148
 
149
149
  Open3.should_receive(:capture3).with("echo ap-northeast-1b\necho ap-northeast-1\n")
150
150
  .and_return(["ap-northeast-1b\nap-northeast-1\n", "", process_status1])
151
151
  Open3.should_receive(:capture3).with("echo ap-northeast-1\necho ap-northeast-1b\n")
152
152
  .and_return(["ap-northeast-1\nap-northeast-1b\n", "", process_status2])
153
153
 
154
+ client.instance_variable_get(:@post_processing)
155
+ .should_receive(:print_command).with('command_a')
156
+ client.instance_variable_get(:@post_processing)
157
+ .should_receive(:print_command).with('command_b')
158
+
154
159
  client.instance_variable_get(:@post_processing)
155
160
  .should_receive(:print_command_result)
156
- .with('command_a', "ap-northeast-1b\nap-northeast-1\n", "", process_status1)
157
- .and_return('command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\necho ap-northeast-1\n", 'StdErr' => ""})
161
+ .with("ap-northeast-1b\nap-northeast-1\n", "", process_status1)
158
162
  client.instance_variable_get(:@post_processing)
159
163
  .should_receive(:print_command_result)
160
- .with('command_b', "ap-northeast-1\nap-northeast-1b\n", "", process_status2)
161
- .and_return('command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\necho ap-northeast-1b\n", 'StdErr' => ""})
164
+ .with("ap-northeast-1\nap-northeast-1b\n", "", process_status2)
162
165
 
163
166
  client.instance_variable_get(:@post_processing)
164
167
  .should_receive(:save_command_results)
165
- .with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\necho ap-northeast-1\n", 'StdErr' => ""}},
166
- {'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\necho ap-northeast-1b\n", 'StdErr' => ""}}])
168
+ .with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\nap-northeast-1\n", 'StdErr' => ""}},
169
+ {'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\nap-northeast-1b\n", 'StdErr' => ""}}])
167
170
  end
168
171
  end
169
172
 
@@ -240,10 +243,12 @@ end
240
243
  Net::SSH.should_receive(:start).with("127.0.0.1", "ec2-user")
241
244
  .and_return(["file1\nfile2\n", "", 0])
242
245
 
246
+ client.instance_variable_get(:@post_processing)
247
+ .should_receive(:print_command).with('ssh_command')
248
+
243
249
  client.instance_variable_get(:@post_processing)
244
250
  .should_receive(:print_command_result)
245
- .with('ssh_command', "file1\nfile2\n", "", 0)
246
- .and_return('ssh_command' => {'ExitStatus' => 0, 'StdOut' => "file1\nfile2\n", 'StdErr' => ""})
251
+ .with("file1\nfile2\n", "", 0)
247
252
 
248
253
  client.instance_variable_get(:@post_processing)
249
254
  .should_receive(:save_command_results)
@@ -337,27 +342,30 @@ end
337
342
 
338
343
  cf.should_receive(:stacks).twice { stacks }
339
344
 
340
- process_status1 = double('process_status1')
341
- process_status2 = double('process_status2')
345
+ process_status1 = make_double('process_status1') {|obj| obj.should_receive(:to_i).and_return(0) }
346
+ process_status2 = make_double('process_status2') {|obj| obj.should_receive(:to_i).and_return(0) }
342
347
 
343
348
  Open3.should_receive(:capture3).with("echo ap-northeast-1b\necho ap-northeast-1\n")
344
349
  .and_return(["ap-northeast-1b\nap-northeast-1\n", "", process_status1])
345
350
  Open3.should_receive(:capture3).with("echo ap-northeast-1\necho ap-northeast-1b\n")
346
351
  .and_return(["ap-northeast-1\nap-northeast-1b\n", "", process_status2])
347
352
 
353
+ client.instance_variable_get(:@post_processing)
354
+ .should_receive(:print_command).with('command_a')
355
+ client.instance_variable_get(:@post_processing)
356
+ .should_receive(:print_command).with('command_b')
357
+
348
358
  client.instance_variable_get(:@post_processing)
349
359
  .should_receive(:print_command_result)
350
- .with('command_a', "ap-northeast-1b\nap-northeast-1\n", "", process_status1)
351
- .and_return('command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\necho ap-northeast-1\n", 'StdErr' => ""})
360
+ .with("ap-northeast-1b\nap-northeast-1\n", "", process_status1)
352
361
  client.instance_variable_get(:@post_processing)
353
362
  .should_receive(:print_command_result)
354
- .with('command_b', "ap-northeast-1\nap-northeast-1b\n", "", process_status2)
355
- .and_return('command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\necho ap-northeast-1b\n", 'StdErr' => ""})
363
+ .with("ap-northeast-1\nap-northeast-1b\n", "", process_status2)
356
364
 
357
365
  client.instance_variable_get(:@post_processing)
358
366
  .should_receive(:save_command_results)
359
- .with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\necho ap-northeast-1\n", 'StdErr' => ""}},
360
- {'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\necho ap-northeast-1b\n", 'StdErr' => ""}}])
367
+ .with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\nap-northeast-1\n", 'StdErr' => ""}},
368
+ {'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\nap-northeast-1b\n", 'StdErr' => ""}}])
361
369
  end
362
370
  end
363
371
 
@@ -137,27 +137,31 @@ end
137
137
 
138
138
  cf.should_receive(:stacks) { stacks }
139
139
 
140
- process_status1 = double('process_status1')
141
- process_status2 = double('process_status2')
140
+
141
+ process_status1 = make_double('process_status1') {|obj| obj.should_receive(:to_i).and_return(0) }
142
+ process_status2 = make_double('process_status2') {|obj| obj.should_receive(:to_i).and_return(0) }
142
143
 
143
144
  Open3.should_receive(:capture3).with("echo ap-northeast-1b\necho ap-northeast-1\n")
144
145
  .and_return(["ap-northeast-1b\nap-northeast-1\n", "", process_status1])
145
146
  Open3.should_receive(:capture3).with("echo ap-northeast-1\necho ap-northeast-1b\n")
146
147
  .and_return(["ap-northeast-1\nap-northeast-1b\n", "", process_status2])
147
148
 
149
+ client.instance_variable_get(:@post_processing)
150
+ .should_receive(:print_command).with('command_a')
151
+ client.instance_variable_get(:@post_processing)
152
+ .should_receive(:print_command).with('command_b')
153
+
148
154
  client.instance_variable_get(:@post_processing)
149
155
  .should_receive(:print_command_result)
150
- .with('command_a', "ap-northeast-1b\nap-northeast-1\n", "", process_status1)
151
- .and_return('command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\necho ap-northeast-1\n", 'StdErr' => ""})
156
+ .with("ap-northeast-1b\nap-northeast-1\n", "", process_status1)
152
157
  client.instance_variable_get(:@post_processing)
153
158
  .should_receive(:print_command_result)
154
- .with('command_b', "ap-northeast-1\nap-northeast-1b\n", "", process_status2)
155
- .and_return('command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\necho ap-northeast-1b\n", 'StdErr' => ""})
159
+ .with("ap-northeast-1\nap-northeast-1b\n", "", process_status2)
156
160
 
157
161
  client.instance_variable_get(:@post_processing)
158
162
  .should_receive(:save_command_results)
159
- .with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\necho ap-northeast-1\n", 'StdErr' => ""}},
160
- {'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\necho ap-northeast-1b\n", 'StdErr' => ""}}])
163
+ .with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\nap-northeast-1\n", 'StdErr' => ""}},
164
+ {'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\nap-northeast-1b\n", 'StdErr' => ""}}])
161
165
  end
162
166
  end
163
167
 
@@ -231,14 +235,17 @@ end
231
235
  Net::SSH.should_receive(:start).with("127.0.0.1", "ec2-user")
232
236
  .and_return(["file1\nfile2\n", "", 0])
233
237
 
238
+ client.instance_variable_get(:@post_processing)
239
+ .should_receive(:print_command).with('ssh_command')
240
+
234
241
  client.instance_variable_get(:@post_processing)
235
242
  .should_receive(:print_command_result)
236
- .with('ssh_command', "file1\nfile2\n", "", 0)
237
- .and_return('ssh_command' => {'ExitStatus' => 0, 'StdOut' => "file1\nfile2\n", 'StdErr' => ""})
243
+ .with("file1\nfile2\n", "", 0)
238
244
 
239
245
  client.instance_variable_get(:@post_processing)
240
246
  .should_receive(:save_command_results)
241
247
  .with([{'ssh_command' => {'ExitStatus' => 0, 'StdOut' => "file1\nfile2\n", 'StdErr' => ""}}])
248
+
242
249
  end
243
250
  end
244
251
 
@@ -325,27 +332,31 @@ end
325
332
 
326
333
  cf.should_receive(:stacks) { stacks }
327
334
 
328
- process_status1 = double('process_status1')
329
- process_status2 = double('process_status2')
335
+
336
+ process_status1 = make_double('process_status1') {|obj| obj.should_receive(:to_i).and_return(0) }
337
+ process_status2 = make_double('process_status2') {|obj| obj.should_receive(:to_i).and_return(0) }
330
338
 
331
339
  Open3.should_receive(:capture3).with("echo ap-northeast-1b\necho ap-northeast-1\n")
332
340
  .and_return(["ap-northeast-1b\nap-northeast-1\n", "", process_status1])
333
341
  Open3.should_receive(:capture3).with("echo ap-northeast-1\necho ap-northeast-1b\n")
334
342
  .and_return(["ap-northeast-1\nap-northeast-1b\n", "", process_status2])
335
343
 
344
+ client.instance_variable_get(:@post_processing)
345
+ .should_receive(:print_command).with('command_a')
346
+ client.instance_variable_get(:@post_processing)
347
+ .should_receive(:print_command).with('command_b')
348
+
336
349
  client.instance_variable_get(:@post_processing)
337
350
  .should_receive(:print_command_result)
338
- .with('command_a', "ap-northeast-1b\nap-northeast-1\n", "", process_status1)
339
- .and_return('command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\necho ap-northeast-1\n", 'StdErr' => ""})
351
+ .with("ap-northeast-1b\nap-northeast-1\n", "", process_status1)
340
352
  client.instance_variable_get(:@post_processing)
341
353
  .should_receive(:print_command_result)
342
- .with('command_b', "ap-northeast-1\nap-northeast-1b\n", "", process_status2)
343
- .and_return('command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\necho ap-northeast-1b\n", 'StdErr' => ""})
354
+ .with("ap-northeast-1\nap-northeast-1b\n", "", process_status2)
344
355
 
345
356
  client.instance_variable_get(:@post_processing)
346
357
  .should_receive(:save_command_results)
347
- .with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\necho ap-northeast-1\n", 'StdErr' => ""}},
348
- {'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\necho ap-northeast-1b\n", 'StdErr' => ""}}])
358
+ .with([{'command_a' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1b\nap-northeast-1\n", 'StdErr' => ""}},
359
+ {'command_b' => {'ExitStatus' => 0, 'StdOut' => "ap-northeast-1\nap-northeast-1b\n", 'StdErr' => ""}}])
349
360
  end
350
361
  end
351
362
 
metadata CHANGED
@@ -1,195 +1,195 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kumogata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.10
4
+ version: 0.3.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-10 00:00:00.000000000 Z
11
+ date: 2014-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ! '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ! '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: coderay
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ! '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ! '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: diffy
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ! '>='
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ! '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: dslh
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: 0.2.5
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ! '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.2.5
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: hashie
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ! '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ! '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: highline
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ! '>='
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ! '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: json
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ! '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ! '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: net-ssh
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ! '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ! '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: term-ansicolor
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ! '>='
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ! '>='
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: uuidtools
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '>='
143
+ - - ! '>='
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ! '>='
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: bundler
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - '>='
157
+ - - ! '>='
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - '>='
164
+ - - ! '>='
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: rake
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - '>='
171
+ - - ! '>='
172
172
  - !ruby/object:Gem::Version
173
173
  version: '0'
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - '>='
178
+ - - ! '>='
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: rspec
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - '>='
185
+ - - ! '>='
186
186
  - !ruby/object:Gem::Version
187
187
  version: 2.11.0
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - '>='
192
+ - - ! '>='
193
193
  - !ruby/object:Gem::Version
194
194
  version: 2.11.0
195
195
  description: A tool for AWS CloudFormation. It can define a template in Ruby DSL.
@@ -246,17 +246,17 @@ require_paths:
246
246
  - lib
247
247
  required_ruby_version: !ruby/object:Gem::Requirement
248
248
  requirements:
249
- - - '>='
249
+ - - ! '>='
250
250
  - !ruby/object:Gem::Version
251
251
  version: '0'
252
252
  required_rubygems_version: !ruby/object:Gem::Requirement
253
253
  requirements:
254
- - - '>='
254
+ - - ! '>='
255
255
  - !ruby/object:Gem::Version
256
256
  version: '0'
257
257
  requirements: []
258
258
  rubyforge_project:
259
- rubygems_version: 2.0.14
259
+ rubygems_version: 2.1.11
260
260
  signing_key:
261
261
  specification_version: 4
262
262
  summary: A tool for AWS CloudFormation.
@@ -276,4 +276,3 @@ test_files:
276
276
  - spec/kumogata_update_spec.rb
277
277
  - spec/kumogata_validate_spec.rb
278
278
  - spec/spec_helper.rb
279
- has_rdoc: