chef 0.10.10.beta.1 → 0.10.10.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. data/README.rdoc +1 -1
  2. data/distro/common/html/chef-client.8.html +3 -3
  3. data/distro/common/html/chef-expander.8.html +3 -3
  4. data/distro/common/html/chef-expanderctl.8.html +3 -3
  5. data/distro/common/html/chef-server-webui.8.html +3 -3
  6. data/distro/common/html/chef-server.8.html +3 -3
  7. data/distro/common/html/chef-solo.8.html +3 -3
  8. data/distro/common/html/chef-solr.8.html +3 -3
  9. data/distro/common/html/knife-bootstrap.1.html +3 -3
  10. data/distro/common/html/knife-client.1.html +3 -3
  11. data/distro/common/html/knife-configure.1.html +3 -3
  12. data/distro/common/html/knife-cookbook-site.1.html +3 -3
  13. data/distro/common/html/knife-cookbook.1.html +3 -3
  14. data/distro/common/html/knife-data-bag.1.html +7 -3
  15. data/distro/common/html/knife-environment.1.html +3 -3
  16. data/distro/common/html/knife-exec.1.html +3 -3
  17. data/distro/common/html/knife-index.1.html +3 -3
  18. data/distro/common/html/knife-node.1.html +3 -3
  19. data/distro/common/html/knife-role.1.html +3 -3
  20. data/distro/common/html/knife-search.1.html +3 -3
  21. data/distro/common/html/knife-ssh.1.html +3 -3
  22. data/distro/common/html/knife-status.1.html +3 -3
  23. data/distro/common/html/knife-tag.1.html +3 -3
  24. data/distro/common/html/knife.1.html +3 -3
  25. data/distro/common/html/shef.1.html +3 -3
  26. data/distro/common/man/man1/knife-bootstrap.1 +1 -1
  27. data/distro/common/man/man1/knife-client.1 +1 -1
  28. data/distro/common/man/man1/knife-configure.1 +1 -1
  29. data/distro/common/man/man1/knife-cookbook-site.1 +1 -1
  30. data/distro/common/man/man1/knife-cookbook.1 +1 -1
  31. data/distro/common/man/man1/knife-data-bag.1 +7 -1
  32. data/distro/common/man/man1/knife-environment.1 +1 -1
  33. data/distro/common/man/man1/knife-exec.1 +1 -1
  34. data/distro/common/man/man1/knife-index.1 +1 -1
  35. data/distro/common/man/man1/knife-node.1 +1 -1
  36. data/distro/common/man/man1/knife-role.1 +1 -1
  37. data/distro/common/man/man1/knife-search.1 +1 -1
  38. data/distro/common/man/man1/knife-ssh.1 +1 -1
  39. data/distro/common/man/man1/knife-status.1 +1 -1
  40. data/distro/common/man/man1/knife-tag.1 +1 -1
  41. data/distro/common/man/man1/knife.1 +1 -1
  42. data/distro/common/man/man1/shef.1 +1 -1
  43. data/distro/common/man/man8/chef-client.8 +1 -1
  44. data/distro/common/man/man8/chef-expander.8 +1 -1
  45. data/distro/common/man/man8/chef-expanderctl.8 +1 -1
  46. data/distro/common/man/man8/chef-server-webui.8 +1 -1
  47. data/distro/common/man/man8/chef-server.8 +1 -1
  48. data/distro/common/man/man8/chef-solo.8 +1 -1
  49. data/distro/common/man/man8/chef-solr.8 +1 -1
  50. data/distro/common/markdown/man1/knife-data-bag.mkd +4 -0
  51. data/lib/chef/application/client.rb +15 -1
  52. data/lib/chef/application/solo.rb +15 -1
  53. data/lib/chef/application/windows_service.rb +15 -1
  54. data/lib/chef/certificate.rb +18 -51
  55. data/lib/chef/client.rb +31 -1
  56. data/lib/chef/json_compat.rb +1 -1
  57. data/lib/chef/knife.rb +23 -6
  58. data/lib/chef/knife/bootstrap.rb +7 -0
  59. data/lib/chef/knife/bootstrap/archlinux-gems.erb +1 -1
  60. data/lib/chef/knife/bootstrap/centos5-gems.erb +1 -1
  61. data/lib/chef/knife/bootstrap/chef-full.erb +1 -1
  62. data/lib/chef/knife/bootstrap/fedora13-gems.erb +1 -1
  63. data/lib/chef/knife/bootstrap/ubuntu10.04-apt.erb +1 -1
  64. data/lib/chef/knife/bootstrap/ubuntu10.04-gems.erb +1 -1
  65. data/lib/chef/knife/core/bootstrap_context.rb +4 -0
  66. data/lib/chef/knife/core/generic_presenter.rb +1 -1
  67. data/lib/chef/knife/core/object_loader.rb +39 -2
  68. data/lib/chef/knife/data_bag_from_file.rb +68 -19
  69. data/lib/chef/knife/ssh.rb +2 -1
  70. data/lib/chef/platform.rb +8 -0
  71. data/lib/chef/provider/cron.rb +70 -56
  72. data/lib/chef/provider/cron/solaris.rb +16 -143
  73. data/lib/chef/provider/deploy.rb +1 -1
  74. data/lib/chef/provider/group/groupadd.rb +1 -4
  75. data/lib/chef/provider/mdadm.rb +1 -1
  76. data/lib/chef/provider/mount/mount.rb +14 -2
  77. data/lib/chef/provider/package.rb +7 -1
  78. data/lib/chef/provider/package/freebsd.rb +30 -6
  79. data/lib/chef/provider/package/pacman.rb +1 -0
  80. data/lib/chef/provider/package/rubygems.rb +2 -4
  81. data/lib/chef/provider/remote_directory.rb +1 -1
  82. data/lib/chef/provider/service/freebsd.rb +32 -46
  83. data/lib/chef/provider/service/init.rb +8 -5
  84. data/lib/chef/provider/service/simple.rb +57 -48
  85. data/lib/chef/provider/service/upstart.rb +13 -5
  86. data/lib/chef/provider/user/useradd.rb +6 -1
  87. data/lib/chef/resource/mdadm.rb +9 -0
  88. data/lib/chef/resource/service.rb +9 -1
  89. data/lib/chef/rest.rb +9 -9
  90. data/lib/chef/version.rb +1 -1
  91. metadata +177 -28
@@ -43,6 +43,14 @@ class Chef
43
43
 
44
44
  run_context.node
45
45
 
46
+ @job = @new_resource.service_name
47
+
48
+ if @new_resource.parameters
49
+ @new_resource.parameters.each do |key, value|
50
+ @job << " #{key}=#{value}"
51
+ end
52
+ end
53
+
46
54
  platform, version = Chef::Platform.find_platform_and_version(run_context.node)
47
55
  if platform == "ubuntu" && (8.04..9.04).include?(version.to_f)
48
56
  @upstart_job_dir = "/etc/event.d"
@@ -118,7 +126,7 @@ class Chef
118
126
  if @new_resource.start_command
119
127
  super
120
128
  else
121
- run_command_with_systems_locale(:command => "/sbin/start #{@new_resource.service_name}")
129
+ run_command_with_systems_locale(:command => "/sbin/start #{@job}")
122
130
  end
123
131
  end
124
132
  end
@@ -132,7 +140,7 @@ class Chef
132
140
  if @new_resource.stop_command
133
141
  super
134
142
  else
135
- run_command_with_systems_locale(:command => "/sbin/stop #{@new_resource.service_name}")
143
+ run_command_with_systems_locale(:command => "/sbin/stop #{@job}")
136
144
  end
137
145
  end
138
146
  end
@@ -144,7 +152,7 @@ class Chef
144
152
  # Older versions of upstart would fail on restart if the service was currently stopped, check for that. LP:430883
145
153
  else @new_resource.supports[:restart]
146
154
  if @current_resource.running
147
- run_command_with_systems_locale(:command => "/sbin/restart #{@new_resource.service_name}")
155
+ run_command_with_systems_locale(:command => "/sbin/restart #{@job}")
148
156
  else
149
157
  start_service
150
158
  end
@@ -156,7 +164,7 @@ class Chef
156
164
  super
157
165
  else
158
166
  # upstart >= 0.6.3-4 supports reload (HUP)
159
- run_command_with_systems_locale(:command => "/sbin/reload #{@new_resource.service_name}")
167
+ run_command_with_systems_locale(:command => "/sbin/reload #{@job}")
160
168
  end
161
169
  end
162
170
 
@@ -177,7 +185,7 @@ class Chef
177
185
  end
178
186
 
179
187
  def upstart_state
180
- command = "/sbin/status #{@new_resource.service_name}"
188
+ command = "/sbin/status #{@job}"
181
189
  status = popen4(command) do |pid, stdin, stdout, stderr|
182
190
  stdout.each_line do |line|
183
191
  # rsyslog stop/waiting
@@ -16,6 +16,7 @@
16
16
  # limitations under the License.
17
17
  #
18
18
 
19
+ require 'pathname'
19
20
  require 'chef/provider/user'
20
21
 
21
22
  class Chef
@@ -124,7 +125,11 @@ class Chef
124
125
  end
125
126
 
126
127
  def updating_home?
127
- @current_resource.home != @new_resource.home && @new_resource.home
128
+ # will return false if paths are equivalent
129
+ # Pathname#cleanpath does a better job than ::File::expand_path (on both unix and windows)
130
+ # ::File.expand_path("///tmp") == ::File.expand_path("/tmp") => false
131
+ # ::File.expand_path("\\tmp") => "C:/tmp"
132
+ @new_resource.home and Pathname.new(@current_resource.home).cleanpath != Pathname.new(@new_resource.home).cleanpath
128
133
  end
129
134
 
130
135
  def managing_home_dir?
@@ -31,6 +31,7 @@ class Chef
31
31
  @exists = false
32
32
  @level = 1
33
33
  @metadata = "0.90"
34
+ @bitmap = "none"
34
35
  @raid_device = name
35
36
 
36
37
  @action = :create
@@ -77,6 +78,14 @@ class Chef
77
78
  )
78
79
  end
79
80
 
81
+ def bitmap(arg=nil)
82
+ set_or_return(
83
+ :bitmap,
84
+ arg,
85
+ :kind_of => [ String ]
86
+ )
87
+ end
88
+
80
89
  def raid_device(arg=nil)
81
90
  set_or_return(
82
91
  :raid_device,
@@ -28,7 +28,8 @@ class Chef
28
28
  @service_name = name
29
29
  @enabled = nil
30
30
  @running = nil
31
- @pattern = service_name
31
+ @parameters = nil
32
+ @pattern = service_name
32
33
  @start_command = nil
33
34
  @stop_command = nil
34
35
  @status_command = nil
@@ -136,6 +137,13 @@ class Chef
136
137
  :kind_of => [ Integer, String, Hash ])
137
138
  end
138
139
 
140
+ def parameters(arg=nil)
141
+ set_or_return(
142
+ :parameters,
143
+ arg,
144
+ :kind_of => [ Hash ] )
145
+ end
146
+
139
147
  def supports(args={})
140
148
  if args.is_a? Array
141
149
  args.each { |arg| @supports[arg] = true }
@@ -199,7 +199,8 @@ class Chef
199
199
  end
200
200
  end
201
201
 
202
- if res.kind_of?(Net::HTTPSuccess)
202
+ case res
203
+ when Net::HTTPSuccess
203
204
  if res['content-type'] =~ /json/
204
205
  Chef::JSONCompat.from_json(response_body)
205
206
  else
@@ -211,10 +212,10 @@ class Chef
211
212
  response_body
212
213
  end
213
214
  end
214
- elsif res.kind_of?(Net::HTTPFound) or res.kind_of?(Net::HTTPMovedPermanently)
215
- follow_redirect {run_request(method, create_url(res['location']), headers, false, nil, raw)}
216
- elsif res.kind_of?(Net::HTTPNotModified)
215
+ when Net::HTTPNotModified # Must be tested before Net::HTTPRedirection because it's subclass.
217
216
  false
217
+ when Net::HTTPRedirection
218
+ follow_redirect {run_request(method, create_url(res['location']), headers, false, nil, raw)}
218
219
  else
219
220
  if res['content-type'] =~ /json/
220
221
  exception = Chef::JSONCompat.from_json(response_body)
@@ -390,11 +391,10 @@ class Chef
390
391
  private
391
392
 
392
393
  def redirected_to(response)
393
- if response.kind_of?(Net::HTTPFound) || response.kind_of?(Net::HTTPMovedPermanently)
394
- response['location']
395
- else
396
- nil
397
- end
394
+ return nil unless response.kind_of?(Net::HTTPRedirection)
395
+ # Net::HTTPNotModified is undesired subclass of Net::HTTPRedirection so test for this
396
+ return nil if response.kind_of?(Net::HTTPNotModified)
397
+ response['location']
398
398
  end
399
399
 
400
400
  def build_headers(method, url, headers={}, json_body=false, raw=false)
@@ -17,7 +17,7 @@
17
17
 
18
18
  class Chef
19
19
  CHEF_ROOT = File.dirname(File.expand_path(File.dirname(__FILE__)))
20
- VERSION = '0.10.10.beta.1'
20
+ VERSION = '0.10.10.rc.1'
21
21
  end
22
22
 
23
23
  # NOTE: the Chef::Version class is defined in version_class.rb
metadata CHANGED
@@ -1,8 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 15424231
4
5
  prerelease: 8
5
- version: 0.10.10.beta.1
6
+ segments:
7
+ - 0
8
+ - 10
9
+ - 10
10
+ - rc
11
+ - 1
12
+ version: 0.10.10.rc.1
6
13
  platform: ruby
7
14
  authors:
8
15
  - Adam Jacob
@@ -10,7 +17,7 @@ autorequire:
10
17
  bindir: bin
11
18
  cert_chain: []
12
19
 
13
- date: 2012-04-06 00:00:00 Z
20
+ date: 2012-04-30 00:00:00 Z
14
21
  dependencies:
15
22
  - !ruby/object:Gem::Dependency
16
23
  name: mixlib-config
@@ -20,6 +27,11 @@ dependencies:
20
27
  requirements:
21
28
  - - ">="
22
29
  - !ruby/object:Gem::Version
30
+ hash: 23
31
+ segments:
32
+ - 1
33
+ - 1
34
+ - 2
23
35
  version: 1.1.2
24
36
  type: :runtime
25
37
  version_requirements: *id001
@@ -31,6 +43,11 @@ dependencies:
31
43
  requirements:
32
44
  - - ">="
33
45
  - !ruby/object:Gem::Version
46
+ hash: 19
47
+ segments:
48
+ - 1
49
+ - 1
50
+ - 0
34
51
  version: 1.1.0
35
52
  type: :runtime
36
53
  version_requirements: *id002
@@ -42,6 +59,11 @@ dependencies:
42
59
  requirements:
43
60
  - - ">="
44
61
  - !ruby/object:Gem::Version
62
+ hash: 27
63
+ segments:
64
+ - 1
65
+ - 3
66
+ - 0
45
67
  version: 1.3.0
46
68
  type: :runtime
47
69
  version_requirements: *id003
@@ -53,6 +75,11 @@ dependencies:
53
75
  requirements:
54
76
  - - ">="
55
77
  - !ruby/object:Gem::Version
78
+ hash: 19
79
+ segments:
80
+ - 1
81
+ - 1
82
+ - 0
56
83
  version: 1.1.0
57
84
  type: :runtime
58
85
  version_requirements: *id004
@@ -64,6 +91,12 @@ dependencies:
64
91
  requirements:
65
92
  - - ~>
66
93
  - !ruby/object:Gem::Version
94
+ hash: 7712010
95
+ segments:
96
+ - 1
97
+ - 0
98
+ - 0
99
+ - rc
67
100
  version: 1.0.0.rc
68
101
  type: :runtime
69
102
  version_requirements: *id005
@@ -75,6 +108,11 @@ dependencies:
75
108
  requirements:
76
109
  - - ">="
77
110
  - !ruby/object:Gem::Version
111
+ hash: 7
112
+ segments:
113
+ - 0
114
+ - 6
115
+ - 0
78
116
  version: 0.6.0
79
117
  type: :runtime
80
118
  version_requirements: *id006
@@ -86,9 +124,19 @@ dependencies:
86
124
  requirements:
87
125
  - - ">="
88
126
  - !ruby/object:Gem::Version
127
+ hash: 31
128
+ segments:
129
+ - 1
130
+ - 0
131
+ - 4
89
132
  version: 1.0.4
90
133
  - - <
91
134
  - !ruby/object:Gem::Version
135
+ hash: 11
136
+ segments:
137
+ - 1
138
+ - 7
139
+ - 0
92
140
  version: 1.7.0
93
141
  type: :runtime
94
142
  version_requirements: *id007
@@ -100,6 +148,11 @@ dependencies:
100
148
  requirements:
101
149
  - - ">="
102
150
  - !ruby/object:Gem::Version
151
+ hash: 7
152
+ segments:
153
+ - 0
154
+ - 6
155
+ - 0
103
156
  version: 0.6.0
104
157
  type: :runtime
105
158
  version_requirements: *id008
@@ -111,188 +164,276 @@ dependencies:
111
164
  requirements:
112
165
  - - ">="
113
166
  - !ruby/object:Gem::Version
167
+ hash: 15
168
+ segments:
169
+ - 1
170
+ - 4
171
+ - 4
114
172
  version: 1.4.4
115
173
  - - <=
116
174
  - !ruby/object:Gem::Version
175
+ hash: 13
176
+ segments:
177
+ - 1
178
+ - 6
179
+ - 1
117
180
  version: 1.6.1
118
181
  type: :runtime
119
182
  version_requirements: *id009
120
183
  - !ruby/object:Gem::Dependency
121
- name: treetop
184
+ name: yajl-ruby
122
185
  prerelease: false
123
186
  requirement: &id010 !ruby/object:Gem::Requirement
124
187
  none: false
125
188
  requirements:
126
- - - ~>
189
+ - - ">="
127
190
  - !ruby/object:Gem::Version
128
- version: 1.4.9
191
+ hash: 19
192
+ segments:
193
+ - 1
194
+ - 1
195
+ - 0
196
+ version: 1.1.0
129
197
  type: :runtime
130
198
  version_requirements: *id010
131
199
  - !ruby/object:Gem::Dependency
132
- name: net-ssh
200
+ name: treetop
133
201
  prerelease: false
134
202
  requirement: &id011 !ruby/object:Gem::Requirement
135
203
  none: false
136
204
  requirements:
137
205
  - - ~>
138
206
  - !ruby/object:Gem::Version
139
- version: 2.2.2
207
+ hash: 21
208
+ segments:
209
+ - 1
210
+ - 4
211
+ - 9
212
+ version: 1.4.9
140
213
  type: :runtime
141
214
  version_requirements: *id011
142
215
  - !ruby/object:Gem::Dependency
143
- name: net-ssh-multi
216
+ name: net-ssh
144
217
  prerelease: false
145
218
  requirement: &id012 !ruby/object:Gem::Requirement
146
219
  none: false
147
220
  requirements:
148
221
  - - ~>
149
222
  - !ruby/object:Gem::Version
150
- version: 1.1.0
223
+ hash: 3
224
+ segments:
225
+ - 2
226
+ - 2
227
+ - 2
228
+ version: 2.2.2
151
229
  type: :runtime
152
230
  version_requirements: *id012
153
231
  - !ruby/object:Gem::Dependency
154
- name: erubis
232
+ name: net-ssh-multi
155
233
  prerelease: false
156
234
  requirement: &id013 !ruby/object:Gem::Requirement
157
235
  none: false
158
236
  requirements:
159
- - - ">="
237
+ - - ~>
160
238
  - !ruby/object:Gem::Version
161
- version: "0"
239
+ hash: 19
240
+ segments:
241
+ - 1
242
+ - 1
243
+ - 0
244
+ version: 1.1.0
162
245
  type: :runtime
163
246
  version_requirements: *id013
164
247
  - !ruby/object:Gem::Dependency
165
- name: moneta
248
+ name: highline
166
249
  prerelease: false
167
250
  requirement: &id014 !ruby/object:Gem::Requirement
168
251
  none: false
169
252
  requirements:
170
253
  - - ">="
171
254
  - !ruby/object:Gem::Version
172
- version: "0"
255
+ hash: 29
256
+ segments:
257
+ - 1
258
+ - 6
259
+ - 9
260
+ version: 1.6.9
173
261
  type: :runtime
174
262
  version_requirements: *id014
175
263
  - !ruby/object:Gem::Dependency
176
- name: highline
264
+ name: erubis
177
265
  prerelease: false
178
266
  requirement: &id015 !ruby/object:Gem::Requirement
179
267
  none: false
180
268
  requirements:
181
269
  - - ">="
182
270
  - !ruby/object:Gem::Version
271
+ hash: 3
272
+ segments:
273
+ - 0
183
274
  version: "0"
184
275
  type: :runtime
185
276
  version_requirements: *id015
186
277
  - !ruby/object:Gem::Dependency
187
- name: uuidtools
278
+ name: moneta
188
279
  prerelease: false
189
280
  requirement: &id016 !ruby/object:Gem::Requirement
190
281
  none: false
191
282
  requirements:
192
283
  - - ">="
193
284
  - !ruby/object:Gem::Version
285
+ hash: 3
286
+ segments:
287
+ - 0
194
288
  version: "0"
195
289
  type: :runtime
196
290
  version_requirements: *id016
197
291
  - !ruby/object:Gem::Dependency
198
- name: rdoc
292
+ name: uuidtools
199
293
  prerelease: false
200
294
  requirement: &id017 !ruby/object:Gem::Requirement
201
295
  none: false
202
296
  requirements:
203
297
  - - ">="
204
298
  - !ruby/object:Gem::Version
299
+ hash: 3
300
+ segments:
301
+ - 0
205
302
  version: "0"
206
- type: :development
303
+ type: :runtime
207
304
  version_requirements: *id017
208
305
  - !ruby/object:Gem::Dependency
209
- name: sdoc
306
+ name: rdoc
210
307
  prerelease: false
211
308
  requirement: &id018 !ruby/object:Gem::Requirement
212
309
  none: false
213
310
  requirements:
214
311
  - - ">="
215
312
  - !ruby/object:Gem::Version
313
+ hash: 3
314
+ segments:
315
+ - 0
216
316
  version: "0"
217
317
  type: :development
218
318
  version_requirements: *id018
219
319
  - !ruby/object:Gem::Dependency
220
- name: ronn
320
+ name: sdoc
221
321
  prerelease: false
222
322
  requirement: &id019 !ruby/object:Gem::Requirement
223
323
  none: false
224
324
  requirements:
225
325
  - - ">="
226
326
  - !ruby/object:Gem::Version
327
+ hash: 3
328
+ segments:
329
+ - 0
227
330
  version: "0"
228
331
  type: :development
229
332
  version_requirements: *id019
230
333
  - !ruby/object:Gem::Dependency
231
- name: rake
334
+ name: ronn
232
335
  prerelease: false
233
336
  requirement: &id020 !ruby/object:Gem::Requirement
234
337
  none: false
235
338
  requirements:
236
339
  - - ">="
237
340
  - !ruby/object:Gem::Version
341
+ hash: 3
342
+ segments:
343
+ - 0
238
344
  version: "0"
239
345
  type: :development
240
346
  version_requirements: *id020
241
347
  - !ruby/object:Gem::Dependency
242
- name: rack
348
+ name: rake
243
349
  prerelease: false
244
350
  requirement: &id021 !ruby/object:Gem::Requirement
245
351
  none: false
246
352
  requirements:
247
353
  - - ">="
248
354
  - !ruby/object:Gem::Version
355
+ hash: 3
356
+ segments:
357
+ - 0
249
358
  version: "0"
250
359
  type: :development
251
360
  version_requirements: *id021
252
361
  - !ruby/object:Gem::Dependency
253
- name: rspec_junit_formatter
362
+ name: rack
254
363
  prerelease: false
255
364
  requirement: &id022 !ruby/object:Gem::Requirement
256
365
  none: false
257
366
  requirements:
258
367
  - - ">="
259
368
  - !ruby/object:Gem::Version
369
+ hash: 3
370
+ segments:
371
+ - 0
260
372
  version: "0"
261
373
  type: :development
262
374
  version_requirements: *id022
263
375
  - !ruby/object:Gem::Dependency
264
- name: rspec-core
376
+ name: rspec_junit_formatter
265
377
  prerelease: false
266
378
  requirement: &id023 !ruby/object:Gem::Requirement
267
379
  none: false
268
380
  requirements:
269
- - - ~>
381
+ - - ">="
270
382
  - !ruby/object:Gem::Version
271
- version: 2.8.0
383
+ hash: 3
384
+ segments:
385
+ - 0
386
+ version: "0"
272
387
  type: :development
273
388
  version_requirements: *id023
274
389
  - !ruby/object:Gem::Dependency
275
- name: rspec-expectations
390
+ name: rspec-core
276
391
  prerelease: false
277
392
  requirement: &id024 !ruby/object:Gem::Requirement
278
393
  none: false
279
394
  requirements:
280
395
  - - ~>
281
396
  - !ruby/object:Gem::Version
397
+ hash: 47
398
+ segments:
399
+ - 2
400
+ - 8
401
+ - 0
282
402
  version: 2.8.0
283
403
  type: :development
284
404
  version_requirements: *id024
285
405
  - !ruby/object:Gem::Dependency
286
- name: rspec-mocks
406
+ name: rspec-expectations
287
407
  prerelease: false
288
408
  requirement: &id025 !ruby/object:Gem::Requirement
289
409
  none: false
290
410
  requirements:
291
411
  - - ~>
292
412
  - !ruby/object:Gem::Version
413
+ hash: 47
414
+ segments:
415
+ - 2
416
+ - 8
417
+ - 0
293
418
  version: 2.8.0
294
419
  type: :development
295
420
  version_requirements: *id025
421
+ - !ruby/object:Gem::Dependency
422
+ name: rspec-mocks
423
+ prerelease: false
424
+ requirement: &id026 !ruby/object:Gem::Requirement
425
+ none: false
426
+ requirements:
427
+ - - ~>
428
+ - !ruby/object:Gem::Version
429
+ hash: 47
430
+ segments:
431
+ - 2
432
+ - 8
433
+ - 0
434
+ version: 2.8.0
435
+ type: :development
436
+ version_requirements: *id026
296
437
  description: A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.
297
438
  email: adam@opscode.com
298
439
  executables:
@@ -804,12 +945,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
804
945
  requirements:
805
946
  - - ">="
806
947
  - !ruby/object:Gem::Version
948
+ hash: 3
949
+ segments:
950
+ - 0
807
951
  version: "0"
808
952
  required_rubygems_version: !ruby/object:Gem::Requirement
809
953
  none: false
810
954
  requirements:
811
955
  - - ">"
812
956
  - !ruby/object:Gem::Version
957
+ hash: 25
958
+ segments:
959
+ - 1
960
+ - 3
961
+ - 1
813
962
  version: 1.3.1
814
963
  requirements: []
815
964