ey-core 3.1.9 → 3.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0a2ccdb43d93c2b71693f033656d4a22d2d27c0e
4
+ data.tar.gz: 1ba3ed1d50111cdc4479e0b98fe96d26c4b94924
5
+ SHA512:
6
+ metadata.gz: 0cd9461689b956a7482504159fbeeb4a1b5ecaf52a28828f9eb88e3eb8596be9308e1fb9f179a3b434a4a0fd06bdb9719b97895bc4ff224335bba52a264cf708
7
+ data.tar.gz: b2e59843b4c0420eec5f4a071504b9de63d2dd1f090f192471b113a5a9fc6c7cecb4729c305444b6ff76cc63da399c98db29e7e6d113a4f26d32d97431f6b5b0
data/.travis.yml CHANGED
@@ -14,6 +14,10 @@ cache: bundler
14
14
 
15
15
  rvm:
16
16
  - 1.9.3
17
+ - 2.0.0
18
+ - 2.1.0
19
+ - 2.2.0
20
+ - 2.2.2
17
21
  - 2.3.1
18
22
 
19
23
  env:
data/ey-core.gemspec CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |gem|
27
27
  gem.add_dependency "escape"
28
28
  gem.add_dependency "faraday", "~> 0.9"
29
29
  gem.add_dependency "faraday_middleware", "~> 0.9"
30
+ gem.add_dependency "rack", "= 1.6.4" #maintain ruby 1.9 - 2.2.(0|1) compatibility
30
31
  gem.add_dependency "faye"
31
32
  gem.add_dependency "highline"
32
33
  gem.add_dependency "json", "< 2.0"
@@ -5,10 +5,23 @@ module Ey
5
5
  module Cli
6
6
  module Helpers
7
7
  module Chef
8
- def run_chef(type, environment)
9
- request = environment.apply(type)
8
+ def run_chef(type, environment, options = {})
9
+ no_wait = options.delete(:no_wait)
10
+ options[:streaming] = true unless no_wait
11
+ request = environment.apply(type, options)
10
12
  puts "Started #{type} chef run".green
11
- request.wait_for { |r| r.ready? }
13
+ if no_wait
14
+ return
15
+ end
16
+ streamable_instance_update = nil
17
+ if request.read_channel
18
+ request.subscribe do |m|
19
+ print m["message"] if m.is_a?(Hash)
20
+ end
21
+ puts "" # fix console output from stream
22
+ else
23
+ request.wait_for { |r| r.ready? }
24
+ end
12
25
  if request.successful
13
26
  puts "#{type.capitalize} chef run completed".green
14
27
  else
@@ -28,7 +41,7 @@ module Ey
28
41
  elsif recipes_path.exist?
29
42
  environment.upload_recipes(archive_directory(path))
30
43
  else
31
- raise RecipesNotFound, "Recipes not found, expected to find chef recipes in: #{File.expand_path(recipes_path)}"
44
+ raise RecipesNotFound, "Recipes not found, expected to find chef recipes in: #{File.expand_path(recipes_path)}, use --file to specify a different path"
32
45
  end
33
46
  end
34
47
  end
@@ -28,11 +28,28 @@ module Ey
28
28
  long: "quick",
29
29
  description: "Quick chef run (if not specified, will run main chef run)"
30
30
 
31
+ switch :verbose,
32
+ long: "verbose",
33
+ description: "verbose chef run (include chef setup and stack traces)"
34
+
35
+ switch :no_wait,
36
+ long: "no-wait",
37
+ description: "Don't wait for apply to finish, exit after started"
38
+
39
+ option :watch,
40
+ long: "watch",
41
+ description: "Specify an instance amazon_id or server role to watch chef logs (defaults to app_master)",
42
+ argument: "instance"
43
+
31
44
  def handle
32
45
  operator, environment = core_operator_and_environment_for(options)
33
46
  raise "Unable to find matching environment" unless environment
34
47
 
35
- run_chef(run_type, environment)
48
+ opts = {}
49
+ opts[:no_wait] = switch_active?(:no_wait)
50
+ opts[:verbose] = switch_active?(:verbose)
51
+ opts[:watch] = option(:watch)
52
+ run_chef(run_type, environment, opts)
36
53
  end
37
54
 
38
55
  private
@@ -36,6 +36,19 @@ module Ey
36
36
  long: "apply",
37
37
  description: "Apply the recipes immediately after they are uploaded"
38
38
 
39
+ switch :verbose,
40
+ long: "verbose",
41
+ description: "(used in conjunction with --apply) verbose chef run (include chef setup and stack traces)"
42
+
43
+ switch :no_wait,
44
+ long: "no-wait",
45
+ description: "(used in conjunction with --apply) Don't wait for apply to finish, exit after started"
46
+
47
+ option :watch,
48
+ long: "watch",
49
+ description: "Specify an instance amazon_id or server role to watch chef logs (defaults to app_master)",
50
+ argument: "instance"
51
+
39
52
  def handle
40
53
  operator, environment = core_operator_and_environment_for(options)
41
54
  path = option(:file) || "cookbooks/"
@@ -51,7 +64,11 @@ module Ey
51
64
  end
52
65
 
53
66
  if switch_active?(:apply)
54
- run_chef("main", environment)
67
+ opts = {}
68
+ opts[:no_wait] = switch_active?(:no_wait)
69
+ opts[:verbose] = switch_active?(:verbose)
70
+ opts[:watch] = option(:watch)
71
+ run_chef("main", environment, opts)
55
72
  end
56
73
  end
57
74
  end
@@ -1,4 +1,5 @@
1
1
  class Ey::Core::Client::Request < Ey::Core::Model
2
+ extend Ey::Core::Associations
2
3
  include Ey::Core::Subscribable
3
4
 
4
5
  identity :id
@@ -15,6 +16,8 @@ class Ey::Core::Client::Request < Ey::Core::Model
15
16
  attribute :type
16
17
  attribute :updated_at, type: :time
17
18
 
19
+ has_many :dependencies, model: :requests
20
+
18
21
  def callback
19
22
  requires :callback_url
20
23
 
@@ -24,24 +24,32 @@ module Ey::Core::Subscribable
24
24
  EM.run do
25
25
  client = Faye::Client.new(url)
26
26
  client.set_header("Authorization", "Token #{token}")
27
+ next_ready_check = Time.now + 5
28
+ handle_output = Proc.new do |m|
29
+ next_ready_check = Time.now + 1
30
+ block.call(m)
31
+ end
27
32
 
28
33
  deferred = client.subscribe(subscription) do |message|
29
- block.call(JSON.load(message))
34
+ handle_output.call(JSON.load(message))
30
35
  end
31
36
 
32
37
  deferred.callback do
33
- block.call({"meta" => true, "created_at" => Time.now,"message" => "successfully connected to log streaming service\n"})
38
+ handle_output.call({"meta" => true, "created_at" => Time.now,"message" => "log output stream connection established, waiting...\n"})
34
39
  end
35
40
 
36
41
  deferred.errback do |error|
37
- block.call({"meta" => true, "created_at" => Time.now, "message" => "failed to stream output: #{error.inspect}\n"})
42
+ handle_output.call({"meta" => true, "created_at" => Time.now, "message" => "failed to stream output: #{error.inspect}\n"})
38
43
  EM.stop_event_loop
39
44
  end
40
45
 
41
- EventMachine::PeriodicTimer.new(5) do
42
- if resource.reload.ready?
43
- block.call({"meta" => true, "created_at" => Time.now, "message" => "#{resource} finished"})
44
- EM.stop_event_loop
46
+ EventMachine::PeriodicTimer.new(1) do
47
+ if Time.now > next_ready_check
48
+ if resource.reload.ready?
49
+ handle_output.call({"meta" => true, "created_at" => Time.now, "message" => "#{resource} finished"})
50
+ EM.stop_event_loop
51
+ end
52
+ next_ready_check = Time.now + 5
45
53
  end
46
54
  end
47
55
  end
@@ -1,5 +1,5 @@
1
1
  module Ey
2
2
  module Core
3
- VERSION = "3.1.9"
3
+ VERSION = "3.1.10"
4
4
  end
5
5
  end
@@ -13,7 +13,7 @@ describe Ey::Core::Cli::Recipes::Apply do
13
13
 
14
14
  context 'ey-core recipes apply' do
15
15
  it 'performs a main chef run' do
16
- expect(cli).to receive(:run_chef).with('main', environment)
16
+ expect(cli).to receive(:run_chef).with('main', environment, {no_wait: nil, verbose: nil, watch: nil})
17
17
 
18
18
  execute
19
19
  expect(kernel.exit_status).to eql(0)
@@ -24,7 +24,7 @@ describe Ey::Core::Cli::Recipes::Apply do
24
24
  arguments '--quick'
25
25
 
26
26
  it 'performs a quick chef run' do
27
- expect(cli).to receive(:run_chef).with('quick', environment)
27
+ expect(cli).to receive(:run_chef).with('quick', environment, {no_wait: nil, verbose: nil, watch: nil})
28
28
 
29
29
  execute
30
30
  expect(kernel.exit_status).to eql(0)
@@ -62,7 +62,7 @@ describe Ey::Core::Cli::Recipes::Upload do
62
62
  arguments '--apply'
63
63
 
64
64
  it 'performs a custom chef run' do
65
- expect(cli).to receive(:run_chef).with('main', environment)
65
+ expect(cli).to receive(:run_chef).with('main', environment, {no_wait: nil, verbose: nil, watch: nil})
66
66
 
67
67
  execute
68
68
  end
metadata CHANGED
@@ -1,366 +1,335 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ey-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.9
5
- prerelease:
4
+ version: 3.1.10
6
5
  platform: ruby
7
6
  authors:
8
7
  - Josh Lane
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2016-07-19 00:00:00.000000000 Z
11
+ date: 2016-08-03 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: addressable
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: '2.2'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
26
  version: '2.2'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: awesome_print
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: belafonte
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: cistern
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ~>
59
+ - - "~>"
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0.12'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ~>
66
+ - - "~>"
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0.12'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: colorize
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - ">="
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :runtime
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
80
+ - - ">="
92
81
  - !ruby/object:Gem::Version
93
82
  version: '0'
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: ey-hmac
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
- - - ~>
87
+ - - "~>"
100
88
  - !ruby/object:Gem::Version
101
89
  version: '2.0'
102
90
  type: :runtime
103
91
  prerelease: false
104
92
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
93
  requirements:
107
- - - ~>
94
+ - - "~>"
108
95
  - !ruby/object:Gem::Version
109
96
  version: '2.0'
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: escape
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
- - - ! '>='
101
+ - - ">="
116
102
  - !ruby/object:Gem::Version
117
103
  version: '0'
118
104
  type: :runtime
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
107
  requirements:
123
- - - ! '>='
108
+ - - ">="
124
109
  - !ruby/object:Gem::Version
125
110
  version: '0'
126
111
  - !ruby/object:Gem::Dependency
127
112
  name: faraday
128
113
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
114
  requirements:
131
- - - ~>
115
+ - - "~>"
132
116
  - !ruby/object:Gem::Version
133
117
  version: '0.9'
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
121
  requirements:
139
- - - ~>
122
+ - - "~>"
140
123
  - !ruby/object:Gem::Version
141
124
  version: '0.9'
142
125
  - !ruby/object:Gem::Dependency
143
126
  name: faraday_middleware
144
127
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
128
  requirements:
147
- - - ~>
129
+ - - "~>"
148
130
  - !ruby/object:Gem::Version
149
131
  version: '0.9'
150
132
  type: :runtime
151
133
  prerelease: false
152
134
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
135
  requirements:
155
- - - ~>
136
+ - - "~>"
156
137
  - !ruby/object:Gem::Version
157
138
  version: '0.9'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rack
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '='
144
+ - !ruby/object:Gem::Version
145
+ version: 1.6.4
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '='
151
+ - !ruby/object:Gem::Version
152
+ version: 1.6.4
158
153
  - !ruby/object:Gem::Dependency
159
154
  name: faye
160
155
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
156
  requirements:
163
- - - ! '>='
157
+ - - ">="
164
158
  - !ruby/object:Gem::Version
165
159
  version: '0'
166
160
  type: :runtime
167
161
  prerelease: false
168
162
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
163
  requirements:
171
- - - ! '>='
164
+ - - ">="
172
165
  - !ruby/object:Gem::Version
173
166
  version: '0'
174
167
  - !ruby/object:Gem::Dependency
175
168
  name: highline
176
169
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
170
  requirements:
179
- - - ! '>='
171
+ - - ">="
180
172
  - !ruby/object:Gem::Version
181
173
  version: '0'
182
174
  type: :runtime
183
175
  prerelease: false
184
176
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
177
  requirements:
187
- - - ! '>='
178
+ - - ">="
188
179
  - !ruby/object:Gem::Version
189
180
  version: '0'
190
181
  - !ruby/object:Gem::Dependency
191
182
  name: json
192
183
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
184
  requirements:
195
- - - <
185
+ - - "<"
196
186
  - !ruby/object:Gem::Version
197
187
  version: '2.0'
198
188
  type: :runtime
199
189
  prerelease: false
200
190
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
191
  requirements:
203
- - - <
192
+ - - "<"
204
193
  - !ruby/object:Gem::Version
205
194
  version: '2.0'
206
195
  - !ruby/object:Gem::Dependency
207
196
  name: mime-types
208
197
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
198
  requirements:
211
- - - ~>
199
+ - - "~>"
212
200
  - !ruby/object:Gem::Version
213
201
  version: '2.99'
214
202
  type: :runtime
215
203
  prerelease: false
216
204
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
205
  requirements:
219
- - - ~>
206
+ - - "~>"
220
207
  - !ruby/object:Gem::Version
221
208
  version: '2.99'
222
209
  - !ruby/object:Gem::Dependency
223
210
  name: oj
224
211
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
212
  requirements:
227
- - - ! '>='
213
+ - - ">="
228
214
  - !ruby/object:Gem::Version
229
215
  version: '0'
230
216
  type: :runtime
231
217
  prerelease: false
232
218
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
219
  requirements:
235
- - - ! '>='
220
+ - - ">="
236
221
  - !ruby/object:Gem::Version
237
222
  version: '0'
238
223
  - !ruby/object:Gem::Dependency
239
224
  name: oj_mimic_json
240
225
  requirement: !ruby/object:Gem::Requirement
241
- none: false
242
226
  requirements:
243
- - - ! '>='
227
+ - - ">="
244
228
  - !ruby/object:Gem::Version
245
229
  version: '0'
246
230
  type: :runtime
247
231
  prerelease: false
248
232
  version_requirements: !ruby/object:Gem::Requirement
249
- none: false
250
233
  requirements:
251
- - - ! '>='
234
+ - - ">="
252
235
  - !ruby/object:Gem::Version
253
236
  version: '0'
254
237
  - !ruby/object:Gem::Dependency
255
238
  name: pry
256
239
  requirement: !ruby/object:Gem::Requirement
257
- none: false
258
240
  requirements:
259
- - - ! '>='
241
+ - - ">="
260
242
  - !ruby/object:Gem::Version
261
243
  version: '0'
262
244
  type: :runtime
263
245
  prerelease: false
264
246
  version_requirements: !ruby/object:Gem::Requirement
265
- none: false
266
247
  requirements:
267
- - - ! '>='
248
+ - - ">="
268
249
  - !ruby/object:Gem::Version
269
250
  version: '0'
270
251
  - !ruby/object:Gem::Dependency
271
252
  name: sshkey
272
253
  requirement: !ruby/object:Gem::Requirement
273
- none: false
274
254
  requirements:
275
- - - ~>
255
+ - - "~>"
276
256
  - !ruby/object:Gem::Version
277
257
  version: '1.6'
278
258
  type: :runtime
279
259
  prerelease: false
280
260
  version_requirements: !ruby/object:Gem::Requirement
281
- none: false
282
261
  requirements:
283
- - - ~>
262
+ - - "~>"
284
263
  - !ruby/object:Gem::Version
285
264
  version: '1.6'
286
265
  - !ruby/object:Gem::Dependency
287
266
  name: table_print
288
267
  requirement: !ruby/object:Gem::Requirement
289
- none: false
290
268
  requirements:
291
- - - ! '>='
269
+ - - ">="
292
270
  - !ruby/object:Gem::Version
293
271
  version: '0'
294
272
  type: :runtime
295
273
  prerelease: false
296
274
  version_requirements: !ruby/object:Gem::Requirement
297
- none: false
298
275
  requirements:
299
- - - ! '>='
276
+ - - ">="
300
277
  - !ruby/object:Gem::Version
301
278
  version: '0'
302
279
  - !ruby/object:Gem::Dependency
303
280
  name: pry-nav
304
281
  requirement: !ruby/object:Gem::Requirement
305
- none: false
306
282
  requirements:
307
- - - ! '>='
283
+ - - ">="
308
284
  - !ruby/object:Gem::Version
309
285
  version: '0'
310
286
  type: :development
311
287
  prerelease: false
312
288
  version_requirements: !ruby/object:Gem::Requirement
313
- none: false
314
289
  requirements:
315
- - - ! '>='
290
+ - - ">="
316
291
  - !ruby/object:Gem::Version
317
292
  version: '0'
318
293
  - !ruby/object:Gem::Dependency
319
294
  name: rspec
320
295
  requirement: !ruby/object:Gem::Requirement
321
- none: false
322
296
  requirements:
323
- - - ~>
297
+ - - "~>"
324
298
  - !ruby/object:Gem::Version
325
299
  version: '3.0'
326
300
  type: :development
327
301
  prerelease: false
328
302
  version_requirements: !ruby/object:Gem::Requirement
329
- none: false
330
303
  requirements:
331
- - - ~>
304
+ - - "~>"
332
305
  - !ruby/object:Gem::Version
333
306
  version: '3.0'
334
307
  - !ruby/object:Gem::Dependency
335
308
  name: ffaker
336
309
  requirement: !ruby/object:Gem::Requirement
337
- none: false
338
310
  requirements:
339
- - - ! '>='
311
+ - - ">="
340
312
  - !ruby/object:Gem::Version
341
313
  version: '0'
342
314
  type: :development
343
315
  prerelease: false
344
316
  version_requirements: !ruby/object:Gem::Requirement
345
- none: false
346
317
  requirements:
347
- - - ! '>='
318
+ - - ">="
348
319
  - !ruby/object:Gem::Version
349
320
  version: '0'
350
321
  - !ruby/object:Gem::Dependency
351
322
  name: rake
352
323
  requirement: !ruby/object:Gem::Requirement
353
- none: false
354
324
  requirements:
355
- - - ! '>='
325
+ - - ">="
356
326
  - !ruby/object:Gem::Version
357
327
  version: '0'
358
328
  type: :development
359
329
  prerelease: false
360
330
  version_requirements: !ruby/object:Gem::Requirement
361
- none: false
362
331
  requirements:
363
- - - ! '>='
332
+ - - ">="
364
333
  - !ruby/object:Gem::Version
365
334
  version: '0'
366
335
  description: Engine Yard Core API Ruby Client
@@ -372,10 +341,10 @@ executables:
372
341
  extensions: []
373
342
  extra_rdoc_files: []
374
343
  files:
375
- - .gitignore
376
- - .ruby-gemset
377
- - .ruby-version
378
- - .travis.yml
344
+ - ".gitignore"
345
+ - ".ruby-gemset"
346
+ - ".ruby-version"
347
+ - ".travis.yml"
379
348
  - CHANGELOG.md
380
349
  - Gemfile
381
350
  - Guardfile
@@ -821,27 +790,26 @@ files:
821
790
  homepage: ''
822
791
  licenses:
823
792
  - MIT
793
+ metadata: {}
824
794
  post_install_message:
825
795
  rdoc_options: []
826
796
  require_paths:
827
797
  - lib
828
798
  required_ruby_version: !ruby/object:Gem::Requirement
829
- none: false
830
799
  requirements:
831
- - - ! '>='
800
+ - - ">="
832
801
  - !ruby/object:Gem::Version
833
802
  version: '0'
834
803
  required_rubygems_version: !ruby/object:Gem::Requirement
835
- none: false
836
804
  requirements:
837
- - - ! '>='
805
+ - - ">="
838
806
  - !ruby/object:Gem::Version
839
807
  version: '0'
840
808
  requirements: []
841
809
  rubyforge_project:
842
- rubygems_version: 1.8.23.2
810
+ rubygems_version: 2.4.5
843
811
  signing_key:
844
- specification_version: 3
812
+ specification_version: 4
845
813
  summary: Client library providing real and mock functionality for accessing Engine
846
814
  Yard's Core API
847
815
  test_files: