cheffish 0.4 → 0.4.1

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.
data/lib/cheffish.rb CHANGED
@@ -8,6 +8,16 @@ module Cheffish
8
8
  BasicChefClient.inline_resource(provider, provider_action, &block)
9
9
  end
10
10
 
11
+ def self.default_chef_server
12
+ {
13
+ :chef_server_url => Chef::Config[:chef_server_url],
14
+ :options => {
15
+ :client_name => Chef::Config[:node_name],
16
+ :signing_key_filename => Chef::Config[:client_key]
17
+ }
18
+ }
19
+ end
20
+
11
21
  NOT_PASSED=Object.new
12
22
 
13
23
  def self.node_attributes(klass)
@@ -1,3 +1,4 @@
1
+ require 'cheffish/version'
1
2
  require 'chef/dsl/recipe'
2
3
  require 'chef/event_dispatch/base'
3
4
  require 'chef/event_dispatch/dispatcher'
@@ -13,9 +14,9 @@ module Cheffish
13
14
  def initialize(node = nil, events = nil)
14
15
  if !node
15
16
  node = Chef::Node.new
16
- node.name 'basic_client'
17
- node.automatic[:platform] = 'test'
18
- node.automatic[:platform_version] = 'test'
17
+ node.name 'basic_chef_client'
18
+ node.automatic[:platform] = 'basic_chef_client'
19
+ node.automatic[:platform_version] = Cheffish::VERSION
19
20
  end
20
21
 
21
22
  @event_catcher = BasicChefClientEvents.new
@@ -23,7 +24,7 @@ module Cheffish
23
24
  dispatcher.register(events) if events
24
25
  @run_context = Chef::RunContext.new(node, {}, dispatcher)
25
26
  @updated = []
26
- @cookbook_name = 'basic_client'
27
+ @cookbook_name = 'basic_chef_client'
27
28
  end
28
29
 
29
30
  extend Forwardable
@@ -53,7 +54,7 @@ module Cheffish
53
54
 
54
55
  def self.inline_resource(provider, provider_action, &block)
55
56
  events = ProviderEventForwarder.new(provider, provider_action)
56
- client = BasicChefClient.new(provider.node)
57
+ client = BasicChefClient.new(provider.node, events)
57
58
  client.load_block(&block)
58
59
  client.converge
59
60
  client.updated?
@@ -97,23 +97,23 @@ module Cheffish
97
97
  end
98
98
  else
99
99
  if print_values
100
- result << "add #{name == '' ? new_key : "#{name}.#{new_key}"} = #{new_value.inspect}"
100
+ result << " add #{name == '' ? new_key : "#{name}.#{new_key}"} = #{new_value.inspect}"
101
101
  else
102
- result << "add #{name == '' ? new_key : "#{name}.#{new_key}"}"
102
+ result << " add #{name == '' ? new_key : "#{name}.#{new_key}"}"
103
103
  end
104
104
  end
105
105
  end
106
106
  removed_keys.keys.each do |removed_key|
107
- result << "remove #{name == '' ? removed_key : "#{name}.#{removed_key}"}"
107
+ result << " remove #{name == '' ? removed_key : "#{name}.#{removed_key}"}"
108
108
  end
109
109
  else
110
110
  old_json = old_json.to_s if old_json.kind_of?(Symbol)
111
111
  new_json = new_json.to_s if new_json.kind_of?(Symbol)
112
112
  if old_json != new_json
113
113
  if print_values
114
- result << "update #{name} from #{old_json.inspect} to #{new_json.inspect}"
114
+ result << " update #{name} from #{old_json.inspect} to #{new_json.inspect}"
115
115
  else
116
- result << "update #{name}"
116
+ result << " update #{name}"
117
117
  end
118
118
  end
119
119
  end
@@ -5,13 +5,7 @@ module Cheffish
5
5
  class ChefRunData
6
6
  def initialize
7
7
  @local_servers = []
8
- @current_chef_server = {
9
- :chef_server_url => Chef::Config[:chef_server_url],
10
- :options => {
11
- :client_name => Chef::Config[:node_name],
12
- :signing_key_filename => Chef::Config[:client_key]
13
- }
14
- }
8
+ @current_chef_server = Cheffish.default_chef_server
15
9
  end
16
10
 
17
11
  extend Cheffish::WithPattern
@@ -1,3 +1,3 @@
1
1
  module Cheffish
2
- VERSION = '0.4'
2
+ VERSION = '0.4.1'
3
3
  end
@@ -15,7 +15,7 @@ describe Chef::Resource::ChefClient do
15
15
  end
16
16
 
17
17
  context 'and we run a recipe that creates client "blah"' do
18
- with_recipe do
18
+ with_converge do
19
19
  chef_client 'blah' do
20
20
  source_key_path "#{repo_path}/blah.pem"
21
21
  end
@@ -31,7 +31,7 @@ describe Chef::Resource::ChefClient do
31
31
  end
32
32
 
33
33
  context 'and we run a recipe that creates client "blah" with output_key_path' do
34
- with_recipe do
34
+ with_converge do
35
35
  chef_client 'blah' do
36
36
  source_key_path "#{repo_path}/blah.pem"
37
37
  output_key_path "#{repo_path}/blah.pub"
@@ -7,7 +7,7 @@ describe Chef::Resource::ChefNode do
7
7
 
8
8
  when_the_chef_server 'is empty' do
9
9
  context 'and we run a recipe that creates node "blah"' do
10
- with_recipe do
10
+ with_converge do
11
11
  chef_node 'blah'
12
12
  end
13
13
 
@@ -31,7 +31,7 @@ describe Chef::Resource::ChefNode do
31
31
 
32
32
  context 'and a recipe is run that creates node "blah" on the second chef server using with_chef_server' do
33
33
 
34
- with_recipe do
34
+ with_converge do
35
35
  with_chef_server 'http://127.0.0.1:8899'
36
36
  chef_node 'blah'
37
37
  end
@@ -45,7 +45,7 @@ describe Chef::Resource::ChefNode do
45
45
 
46
46
  context 'and a recipe is run that creates node "blah" on the second chef server using chef_server' do
47
47
 
48
- with_recipe do
48
+ with_converge do
49
49
  chef_node 'blah' do
50
50
  chef_server({ :chef_server_url => 'http://127.0.0.1:8899' })
51
51
  end
@@ -64,7 +64,7 @@ describe Chef::Resource::ChefNode do
64
64
  when_the_chef_server 'has a node named "blah"' do
65
65
  node 'blah', {}
66
66
 
67
- with_recipe do
67
+ with_converge do
68
68
  chef_node 'blah'
69
69
  end
70
70
 
@@ -79,7 +79,7 @@ describe Chef::Resource::ChefNode do
79
79
  }
80
80
 
81
81
  context 'with chef_node "blah" that sets attributes' do
82
- with_recipe do
82
+ with_converge do
83
83
  chef_node 'blah' do
84
84
  attributes({})
85
85
  end
@@ -91,7 +91,7 @@ describe Chef::Resource::ChefNode do
91
91
  end
92
92
 
93
93
  context 'with chef_node "blah" that sets attributes with tags in them' do
94
- with_recipe do
94
+ with_converge do
95
95
  chef_node 'blah' do
96
96
  attributes 'tags' => [ 'c', 'd' ]
97
97
  end
@@ -114,7 +114,7 @@ describe Chef::Resource::ChefNode do
114
114
  }
115
115
 
116
116
  context 'with chef_node "blah"' do
117
- with_recipe do
117
+ with_converge do
118
118
  chef_node 'blah'
119
119
  end
120
120
 
@@ -124,7 +124,7 @@ describe Chef::Resource::ChefNode do
124
124
  end
125
125
 
126
126
  context 'with chef_node "blah" with complete true' do
127
- with_recipe do
127
+ with_converge do
128
128
  chef_node 'blah' do
129
129
  complete true
130
130
  end
@@ -15,7 +15,7 @@ describe Chef::Resource::ChefUser do
15
15
  end
16
16
 
17
17
  context 'and we run a recipe that creates user "blah"'do
18
- with_recipe do
18
+ with_converge do
19
19
  chef_user 'blah' do
20
20
  source_key_path "#{repo_path}/blah.pem"
21
21
  end
@@ -31,7 +31,7 @@ describe Chef::Resource::ChefUser do
31
31
  end
32
32
 
33
33
  context 'and we run a recipe that creates client "blah" with output_key_path' do
34
- with_recipe do
34
+ with_converge do
35
35
  chef_client 'blah' do
36
36
  source_key_path "#{repo_path}/blah.pem"
37
37
  output_key_path "#{repo_path}/blah.pub"
@@ -25,9 +25,17 @@ describe Chef::Resource::PrivateKey do
25
25
  IO.read("#{repo_path}/blah").should start_with('-----BEGIN')
26
26
  OpenSSL::PKey.read(IO.read("#{repo_path}/blah")).kind_of?(OpenSSL::PKey::RSA).should be_true
27
27
  end
28
+ end
29
+
30
+ context 'with a private key' do
31
+ before :each do
32
+ Cheffish::BasicChefClient.converge_block do
33
+ private_key "#{repo_path}/blah"
34
+ end
35
+ end
28
36
 
29
37
  context 'and a private_key that copies it in der format' do
30
- with_recipe do
38
+ with_converge do
31
39
  private_key "#{repo_path}/blah.der" do
32
40
  source_key_path "#{repo_path}/blah"
33
41
  format :der
@@ -74,22 +82,31 @@ describe Chef::Resource::PrivateKey do
74
82
  "#{repo_path}/blah.der".should match_private_key("#{repo_path}/blah")
75
83
  end
76
84
 
77
- context 'and a public_key' do
78
- with_recipe do
85
+ context 'and a public_key recipe' do
86
+ with_converge do
79
87
  public_key "#{repo_path}/blah.pub" do
80
88
  source_key_path "#{repo_path}/blah"
81
89
  end
82
90
  end
83
91
 
84
92
  it 'the public_key is created' do
85
- chef_run.should have_updated "private_key[#{repo_path}/blah]", :create
86
93
  chef_run.should have_updated "public_key[#{repo_path}/blah.pub]", :create
87
94
  IO.read("#{repo_path}/blah.pub").should start_with('ssh-rsa ')
88
95
  "#{repo_path}/blah.pub".should be_public_key_for "#{repo_path}/blah"
89
96
  end
97
+ end
90
98
 
91
- context 'and another public_key based off the first public_key' do
92
- with_recipe do
99
+ context 'and a public key' do
100
+ before :each do
101
+ Cheffish::BasicChefClient.converge_block do
102
+ public_key "#{repo_path}/blah.pub" do
103
+ source_key_path "#{repo_path}/blah"
104
+ end
105
+ end
106
+ end
107
+
108
+ context 'and public_key resource based off the public key file' do
109
+ with_converge do
93
110
  public_key "#{repo_path}/blah.pub2" do
94
111
  source_key_path "#{repo_path}/blah.pub"
95
112
  end
@@ -103,7 +120,7 @@ describe Chef::Resource::PrivateKey do
103
120
  end
104
121
 
105
122
  context 'and another public_key based off the first public_key in-memory in a string' do
106
- with_recipe do
123
+ with_converge do
107
124
  public_key "#{repo_path}/blah.pub2" do
108
125
  source_key IO.read("#{repo_path}/blah.pub")
109
126
  end
@@ -131,7 +148,7 @@ describe Chef::Resource::PrivateKey do
131
148
  end
132
149
 
133
150
  context 'and another public_key in :pem format based off the first public_key' do
134
- with_recipe do
151
+ with_converge do
135
152
  public_key "#{repo_path}/blah.pub2" do
136
153
  source_key_path "#{repo_path}/blah.pub"
137
154
  format :pem
@@ -146,7 +163,7 @@ describe Chef::Resource::PrivateKey do
146
163
  end
147
164
 
148
165
  context 'and another public_key in :der format based off the first public_key' do
149
- with_recipe do
166
+ with_converge do
150
167
  public_key "#{repo_path}/blah.pub2" do
151
168
  source_key_path "#{repo_path}/blah.pub"
152
169
  format :pem
@@ -161,8 +178,8 @@ describe Chef::Resource::PrivateKey do
161
178
  end
162
179
  end
163
180
 
164
- context 'and a public key in pem format' do
165
- with_recipe do
181
+ context 'and a public_key resource in pem format' do
182
+ with_converge do
166
183
  public_key "#{repo_path}/blah.pub" do
167
184
  source_key_path "#{repo_path}/blah"
168
185
  format :pem
@@ -170,15 +187,14 @@ describe Chef::Resource::PrivateKey do
170
187
  end
171
188
 
172
189
  it 'the public_key is created' do
173
- chef_run.should have_updated "private_key[#{repo_path}/blah]", :create
174
190
  chef_run.should have_updated "public_key[#{repo_path}/blah.pub]", :create
175
191
  IO.read("#{repo_path}/blah.pub").should start_with('-----BEGIN')
176
192
  "#{repo_path}/blah.pub".should be_public_key_for "#{repo_path}/blah"
177
193
  end
178
194
  end
179
195
 
180
- context 'and a public key in der format' do
181
- with_recipe do
196
+ context 'and a public_key resource in der format' do
197
+ with_converge do
182
198
  public_key "#{repo_path}/blah.pub" do
183
199
  source_key_path "#{repo_path}/blah"
184
200
  format :der
@@ -186,7 +202,6 @@ describe Chef::Resource::PrivateKey do
186
202
  end
187
203
 
188
204
  it 'the public_key is created in openssh format' do
189
- chef_run.should have_updated "private_key[#{repo_path}/blah]", :create
190
205
  chef_run.should have_updated "public_key[#{repo_path}/blah.pub]", :create
191
206
  IO.read("#{repo_path}/blah.pub").should_not start_with('-----BEGIN')
192
207
  IO.read("#{repo_path}/blah.pub").should_not start_with('ssh-rsa')
@@ -207,16 +222,25 @@ describe Chef::Resource::PrivateKey do
207
222
  IO.read("#{repo_path}/blah").should_not start_with('-----BEGIN')
208
223
  OpenSSL::PKey.read(IO.read("#{repo_path}/blah")).kind_of?(OpenSSL::PKey::RSA).should be_true
209
224
  end
225
+ end
226
+
227
+ context 'with a private key in der format' do
228
+ before :each do
229
+ Cheffish::BasicChefClient.converge_block do
230
+ private_key "#{repo_path}/blah" do
231
+ format :der
232
+ end
233
+ end
234
+ end
210
235
 
211
236
  context 'and a public_key' do
212
- with_recipe do
237
+ with_converge do
213
238
  public_key "#{repo_path}/blah.pub" do
214
239
  source_key_path "#{repo_path}/blah"
215
240
  end
216
241
  end
217
242
 
218
243
  it 'the public_key is created in openssh format' do
219
- chef_run.should have_updated "private_key[#{repo_path}/blah]", :create
220
244
  chef_run.should have_updated "public_key[#{repo_path}/blah.pub]", :create
221
245
  IO.read("#{repo_path}/blah.pub").should start_with('ssh-rsa ')
222
246
  "#{repo_path}/blah.pub".should be_public_key_for "#{repo_path}/blah"
@@ -225,7 +249,7 @@ describe Chef::Resource::PrivateKey do
225
249
  end
226
250
 
227
251
  context 'with a recipe with a private_key with a pass_phrase' do
228
- with_recipe do
252
+ with_converge do
229
253
  private_key "#{repo_path}/blah" do
230
254
  pass_phrase 'hello'
231
255
  end
@@ -236,9 +260,19 @@ describe Chef::Resource::PrivateKey do
236
260
  IO.read("#{repo_path}/blah").should start_with('-----BEGIN')
237
261
  OpenSSL::PKey.read(IO.read("#{repo_path}/blah"), 'hello').kind_of?(OpenSSL::PKey::RSA).should be_true
238
262
  end
263
+ end
264
+
265
+ context 'with a private key with a pass phrase' do
266
+ before :each do
267
+ Cheffish::BasicChefClient.converge_block do
268
+ private_key "#{repo_path}/blah" do
269
+ pass_phrase 'hello'
270
+ end
271
+ end
272
+ end
239
273
 
240
274
  context 'and a private_key that copies it in der format' do
241
- with_recipe do
275
+ with_converge do
242
276
  private_key "#{repo_path}/blah.der" do
243
277
  source_key_path "#{repo_path}/blah"
244
278
  source_key_pass_phrase 'hello'
@@ -255,7 +289,7 @@ describe Chef::Resource::PrivateKey do
255
289
  end
256
290
  end
257
291
 
258
- it 'a private_key that copies it from in-memory as a string succeeds' do
292
+ it 'a private_key resource that copies it from in-memory as a string succeeds' do
259
293
  run_recipe do
260
294
  private_key "#{repo_path}/blah.der" do
261
295
  source_key IO.read("#{repo_path}/blah")
@@ -272,7 +306,7 @@ describe Chef::Resource::PrivateKey do
272
306
  end
273
307
 
274
308
  context 'and a public_key' do
275
- with_recipe do
309
+ with_converge do
276
310
  public_key "#{repo_path}/blah.pub" do
277
311
  source_key_path "#{repo_path}/blah"
278
312
  source_key_pass_phrase 'hello'
@@ -280,7 +314,6 @@ describe Chef::Resource::PrivateKey do
280
314
  end
281
315
 
282
316
  it 'the public_key is created in openssh format' do
283
- chef_run.should have_updated "private_key[#{repo_path}/blah]", :create
284
317
  chef_run.should have_updated "public_key[#{repo_path}/blah.pub]", :create
285
318
  IO.read("#{repo_path}/blah.pub").should start_with('ssh-rsa ')
286
319
  "#{repo_path}/blah.pub".should be_public_key_for "#{repo_path}/blah", 'hello'
@@ -288,7 +321,7 @@ describe Chef::Resource::PrivateKey do
288
321
  end
289
322
 
290
323
  context 'and a public_key derived from the private key in an in-memory string' do
291
- with_recipe do
324
+ with_converge do
292
325
  public_key "#{repo_path}/blah.pub" do
293
326
  source_key IO.read("#{repo_path}/blah")
294
327
  source_key_pass_phrase 'hello'
@@ -296,7 +329,6 @@ describe Chef::Resource::PrivateKey do
296
329
  end
297
330
 
298
331
  it 'the public_key is created in openssh format' do
299
- chef_run.should have_updated "private_key[#{repo_path}/blah]", :create
300
332
  chef_run.should have_updated "public_key[#{repo_path}/blah.pub]", :create
301
333
  IO.read("#{repo_path}/blah.pub").should start_with('ssh-rsa ')
302
334
  "#{repo_path}/blah.pub".should be_public_key_for "#{repo_path}/blah", 'hello'
@@ -305,7 +337,7 @@ describe Chef::Resource::PrivateKey do
305
337
  end
306
338
 
307
339
  context 'with a recipe with a private_key and public_key_path' do
308
- with_recipe do
340
+ with_converge do
309
341
  private_key "#{repo_path}/blah" do
310
342
  public_key_path "#{repo_path}/blah.pub"
311
343
  end
@@ -321,7 +353,7 @@ describe Chef::Resource::PrivateKey do
321
353
  end
322
354
 
323
355
  context 'with a recipe with a private_key and public_key_path and public_key_format' do
324
- with_recipe do
356
+ with_converge do
325
357
  private_key "#{repo_path}/blah" do
326
358
  public_key_path "#{repo_path}/blah.pub.der"
327
359
  public_key_format :der
@@ -353,4 +385,3 @@ describe Chef::Resource::PrivateKey do
353
385
  end
354
386
 
355
387
  end
356
-
@@ -9,7 +9,7 @@ describe 'Cheffish Recipe DSL' do
9
9
  context 'when we include with_chef_local_server' do
10
10
  before :each do
11
11
  @tmp_repo = tmp_repo = Dir.mktmpdir('chef_repo')
12
- run_recipe do
12
+ load_recipe do
13
13
  with_chef_local_server :chef_repo_path => tmp_repo
14
14
  end
15
15
  end
@@ -1,11 +1,7 @@
1
1
  require 'chef_zero/rspec'
2
- require 'chef/recipe'
3
- require 'chef/run_context'
4
- require 'chef/event_dispatch/dispatcher'
5
- require 'chef/cookbook/cookbook_collection'
6
- require 'chef/runner'
7
2
  require 'chef/server_api'
8
3
  require 'cheffish'
4
+ require 'cheffish/basic_chef_client'
9
5
 
10
6
  module SpecSupport
11
7
  include ChefZero::RSpec
@@ -17,34 +13,61 @@ module SpecSupport
17
13
  end
18
14
 
19
15
  def chef_run
20
- @event_sink.events
16
+ converge if !@converged
17
+ event_sink.events
21
18
  end
22
19
 
23
- def run_context
24
- @run_context ||= begin
25
- node = Chef::Node.new
26
- node.name 'test'
27
- node.automatic[:platform] = 'test'
28
- node.automatic[:platform_version] = 'test'
29
- Chef::RunContext.new(node, {}, Chef::EventDispatch::Dispatcher.new(event_sink))
20
+ def event_sink
21
+ @event_sink ||= EventSink.new
22
+ end
23
+
24
+ def basic_chef_client
25
+ @basic_chef_client ||= begin
26
+ Cheffish::BasicChefClient.new(nil, event_sink)
30
27
  end
31
28
  end
32
29
 
33
- def event_sink
34
- @event_sink ||= EventSink.new
30
+ def load_recipe(&block)
31
+ basic_chef_client.load_block(&block)
35
32
  end
36
33
 
37
34
  def run_recipe(&block)
38
- recipe = Chef::Recipe.new('test', 'test', run_context)
39
- recipe.instance_eval(&block)
40
- Chef::Runner.new(run_context).converge
35
+ load_recipe(&block)
36
+ converge
37
+ end
38
+
39
+ def reset_chef_client
40
+ @event_sink = nil
41
+ @basic_chef_client = nil
42
+ @converged = false
43
+ end
44
+
45
+ def converge
46
+ if @converged
47
+ raise "Already converged! Cannot converge twice, that's bad mojo."
48
+ end
49
+ @converged = true
50
+ basic_chef_client.converge
41
51
  end
42
52
  end
43
53
  end
44
54
 
45
55
  def with_recipe(&block)
46
56
  before :each do
47
- run_recipe(&block)
57
+ load_recipe(&block)
58
+ end
59
+
60
+ after :each do
61
+ if !@converged
62
+ raise "Never tried to converge!"
63
+ end
64
+ end
65
+ end
66
+
67
+ def with_converge(&block)
68
+ before :each do
69
+ load_recipe(&block) if block_given?
70
+ converge
48
71
  end
49
72
  end
50
73
 
metadata CHANGED
@@ -1,69 +1,78 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cheffish
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.4'
4
+ version: 0.4.1
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - John Keiser
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-05-01 00:00:00.000000000 Z
12
+ date: 2014-05-07 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: chef
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - '>='
19
+ - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - '>='
27
+ - - ! '>='
25
28
  - !ruby/object:Gem::Version
26
29
  version: '0'
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: openssl_pkcs8
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - '>='
35
+ - - ! '>='
32
36
  - !ruby/object:Gem::Version
33
37
  version: '0'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - '>='
43
+ - - ! '>='
39
44
  - !ruby/object:Gem::Version
40
45
  version: '0'
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: rake
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
- - - '>='
51
+ - - ! '>='
46
52
  - !ruby/object:Gem::Version
47
53
  version: '0'
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
- - - '>='
59
+ - - ! '>='
53
60
  - !ruby/object:Gem::Version
54
61
  version: '0'
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: rspec
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
- - - '>='
67
+ - - ! '>='
60
68
  - !ruby/object:Gem::Version
61
69
  version: '0'
62
70
  type: :development
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
- - - '>='
75
+ - - ! '>='
67
76
  - !ruby/object:Gem::Version
68
77
  version: '0'
69
78
  description: A library to manipulate Chef in Chef.
@@ -117,26 +126,27 @@ files:
117
126
  - spec/support/spec_support.rb
118
127
  homepage: http://wiki.opscode.com/display/chef
119
128
  licenses: []
120
- metadata: {}
121
129
  post_install_message:
122
130
  rdoc_options: []
123
131
  require_paths:
124
132
  - lib
125
133
  required_ruby_version: !ruby/object:Gem::Requirement
134
+ none: false
126
135
  requirements:
127
- - - '>='
136
+ - - ! '>='
128
137
  - !ruby/object:Gem::Version
129
138
  version: '0'
130
139
  required_rubygems_version: !ruby/object:Gem::Requirement
140
+ none: false
131
141
  requirements:
132
- - - '>='
142
+ - - ! '>='
133
143
  - !ruby/object:Gem::Version
134
144
  version: '0'
135
145
  requirements: []
136
146
  rubyforge_project:
137
- rubygems_version: 2.0.3
147
+ rubygems_version: 1.8.23
138
148
  signing_key:
139
- specification_version: 4
149
+ specification_version: 3
140
150
  summary: A library to manipulate Chef in Chef.
141
151
  test_files: []
142
152
  has_rdoc:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 2c99e67f4f2af51e4be1bb7f4d127973b0060789
4
- data.tar.gz: e8547a16bc4df37aa4d29b00f6f36af3ec57c381
5
- SHA512:
6
- metadata.gz: 5ac67f69abb511dab697a2a6d77b058dcfb665864d0d647b332a7a820cb59e576406fbabb1fb22a417c2dbb4cb66b7683d537ebe1b97dfa1779a4e985577dcea
7
- data.tar.gz: 85e3d63ac54c4b1665d2b4957be6982731f1a701cab9709537e545890c7415331773c47ff187cbf31a1b5328813cd6c8c6d361ad1aa9a4404f8a73a49c1b0f89