judit-pickle 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. data/.gitignore +6 -0
  2. data/Gemfile +20 -0
  3. data/Gemfile.lock +98 -0
  4. data/History.txt +409 -0
  5. data/License.txt +20 -0
  6. data/README.rdoc +367 -0
  7. data/Rakefile +20 -0
  8. data/Rakefile.d/cucumber.rake +24 -0
  9. data/Rakefile.d/jeweler.rake +23 -0
  10. data/Rakefile.d/rcov.rake +18 -0
  11. data/Rakefile.d/rspec.rake +7 -0
  12. data/Rakefile.d/yard.rake +5 -0
  13. data/Todo.txt +3 -0
  14. data/VERSION +1 -0
  15. data/features/app/app.rb +122 -0
  16. data/features/app/blueprints.rb +11 -0
  17. data/features/app/factories.rb +23 -0
  18. data/features/app/views/notifier/email.erb +1 -0
  19. data/features/app/views/notifier/user_email.erb +6 -0
  20. data/features/email/email.feature +64 -0
  21. data/features/generator/generators.feature +59 -0
  22. data/features/path/models_page.feature +44 -0
  23. data/features/path/named_route_page.feature +10 -0
  24. data/features/pickle/create_from_active_record.feature +76 -0
  25. data/features/pickle/create_from_factory_girl.feature +63 -0
  26. data/features/pickle/create_from_machinist.feature +39 -0
  27. data/features/step_definitions/email_steps.rb +63 -0
  28. data/features/step_definitions/extra_email_steps.rb +7 -0
  29. data/features/step_definitions/fork_steps.rb +4 -0
  30. data/features/step_definitions/generator_steps.rb +46 -0
  31. data/features/step_definitions/path_steps.rb +14 -0
  32. data/features/step_definitions/pickle_steps.rb +100 -0
  33. data/features/step_definitions/raise_error_steps.rb +3 -0
  34. data/features/support/email.rb +21 -0
  35. data/features/support/env.rb +52 -0
  36. data/features/support/paths.rb +47 -0
  37. data/features/support/pickle.rb +26 -0
  38. data/features/support/pickle_app.rb +4 -0
  39. data/init.rb +0 -0
  40. data/lib/generators/pickle_generator.rb +69 -0
  41. data/lib/pickle/adapter.rb +137 -0
  42. data/lib/pickle/adapters/active_record.rb +57 -0
  43. data/lib/pickle/adapters/data_mapper.rb +42 -0
  44. data/lib/pickle/adapters/mongoid.rb +44 -0
  45. data/lib/pickle/config.rb +49 -0
  46. data/lib/pickle/email/parser.rb +18 -0
  47. data/lib/pickle/email/world.rb +13 -0
  48. data/lib/pickle/email.rb +77 -0
  49. data/lib/pickle/parser/matchers.rb +87 -0
  50. data/lib/pickle/parser.rb +65 -0
  51. data/lib/pickle/path/world.rb +5 -0
  52. data/lib/pickle/path.rb +45 -0
  53. data/lib/pickle/session/parser.rb +34 -0
  54. data/lib/pickle/session.rb +205 -0
  55. data/lib/pickle/version.rb +9 -0
  56. data/lib/pickle/world.rb +14 -0
  57. data/lib/pickle.rb +26 -0
  58. data/pickle.gemspec +134 -0
  59. data/rails_generators/pickle/pickle_generator.rb +33 -0
  60. data/rails_generators/pickle/templates/email.rb +21 -0
  61. data/rails_generators/pickle/templates/email_steps.rb +63 -0
  62. data/rails_generators/pickle/templates/paths.rb +47 -0
  63. data/rails_generators/pickle/templates/pickle.rb +28 -0
  64. data/rails_generators/pickle/templates/pickle_steps.rb +100 -0
  65. data/spec/pickle/adapter_spec.rb +186 -0
  66. data/spec/pickle/config_spec.rb +109 -0
  67. data/spec/pickle/email/parser_spec.rb +51 -0
  68. data/spec/pickle/email_spec.rb +166 -0
  69. data/spec/pickle/parser/matchers_spec.rb +70 -0
  70. data/spec/pickle/parser_spec.rb +161 -0
  71. data/spec/pickle/path_spec.rb +101 -0
  72. data/spec/pickle/session_spec.rb +434 -0
  73. data/spec/pickle_spec.rb +24 -0
  74. data/spec/spec_helper.rb +8 -0
  75. metadata +199 -0
@@ -0,0 +1,434 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ # TODO: remove this and push AR stuff into ORM adapter
4
+ module ActiveRecord
5
+ class Base
6
+ end
7
+ end
8
+
9
+ module DataMapper
10
+ class Model
11
+ end
12
+ end
13
+
14
+ describe Pickle::Session do
15
+ include Pickle::Session
16
+
17
+ let :user_class do
18
+ mock("User class", :name => 'User')
19
+ end
20
+
21
+ let :user do
22
+ mock("user", :class => user_class, :id => 1)
23
+ end
24
+
25
+ let :user_factory do
26
+ Pickle::Adapter::Orm.new(user_class)
27
+ end
28
+
29
+ before do
30
+ config.stub(:factories).and_return('user' => user_factory)
31
+ end
32
+
33
+ describe "Pickle::Session proxy missing methods to parser", :shared => true do
34
+ it "should forward to pickle_parser it responds_to them" do
35
+ subject.pickle_parser.should_receive(:parse_model)
36
+ subject.parse_model
37
+ end
38
+
39
+ it "should raise error if pickle_parser don't know about em" do
40
+ lambda { subject.parse_infinity }.should raise_error
41
+ end
42
+ end
43
+
44
+ describe "including Pickle::Session" do
45
+ subject do
46
+ self
47
+ end
48
+
49
+ it_should_behave_like "Pickle::Session proxy missing methods to parser"
50
+ end
51
+
52
+ describe "extending Pickle::Session" do
53
+ subject do
54
+ returning Object.new do |object|
55
+ object.extend Pickle::Session
56
+ end
57
+ end
58
+
59
+ it_should_behave_like "Pickle::Session proxy missing methods to parser"
60
+ end
61
+
62
+ describe "after storing a single user", :shared => true do
63
+ it "created_models('user') should be array containing the original user" do
64
+ created_models('user').should == [user]
65
+ end
66
+
67
+ describe "the original user should be retrievable with" do
68
+ it "created_model('the user')" do
69
+ created_model('the user').should == user
70
+ end
71
+
72
+ it "created_model('1st user')" do
73
+ created_model('1st user').should == user
74
+ end
75
+
76
+ it "created_model('last user')" do
77
+ created_model('last user').should == user
78
+ end
79
+ end
80
+
81
+ describe "(found from db)" do
82
+ let :user_from_db do
83
+ returning user.dup do |from_db|
84
+ from_db.stub!(:id).and_return(100)
85
+ end
86
+ end
87
+
88
+ before do
89
+ Pickle::Adapter.stub!(:get_model).with(user_class, 100).and_return(user_from_db)
90
+ end
91
+
92
+ it "models('user') should be array containing user" do
93
+ models('user').should == [user_from_db]
94
+ end
95
+
96
+ describe "user should be retrievable with" do
97
+ it "model('the user')" do
98
+ model('the user').should == user_from_db
99
+ end
100
+
101
+ it "model('1st user')" do
102
+ model('1st user').should == user_from_db
103
+ end
104
+
105
+ it "model('last user')" do
106
+ model('last user').should == user_from_db
107
+ end
108
+
109
+ it "model!('last user')" do
110
+ model('last user').should == user_from_db
111
+ end
112
+ end
113
+ end
114
+ end
115
+
116
+ describe "#create_model" do
117
+ before do
118
+ user_factory.stub!(:create).and_return(user)
119
+ end
120
+
121
+ describe "('a user')" do
122
+ it "should call user_factory.create({})" do
123
+ user_factory.should_receive(:create).with({})
124
+ create_model('a user')
125
+ end
126
+
127
+ describe "after create," do
128
+ before { create_model('a user') }
129
+
130
+ it_should_behave_like "after storing a single user"
131
+ end
132
+ end
133
+
134
+ describe "('1 user', 'foo: \"bar\", baz: \"bing bong\"')" do
135
+ it "should call user_factory.create({'foo' => 'bar', 'baz' => 'bing bong'})" do
136
+ user_factory.should_receive(:create).with({'foo' => 'bar', 'baz' => 'bing bong'})
137
+ create_model('1 user', 'foo: "bar", baz: "bing bong"')
138
+ end
139
+
140
+ describe "after create," do
141
+ before { create_model('1 user', 'foo: "bar", baz: "bing bong"') }
142
+
143
+ it_should_behave_like "after storing a single user"
144
+ end
145
+ end
146
+
147
+ describe "('an user: \"fred\")" do
148
+ it "should call user_factory.create({})" do
149
+ user_factory.should_receive(:create).with({})
150
+ create_model('an user: "fred"')
151
+ end
152
+
153
+ describe "after create," do
154
+ before { create_model('an user: "fred"') }
155
+
156
+ it_should_behave_like "after storing a single user"
157
+
158
+ it "created_model('the user: \"fred\"') should retrieve the user" do
159
+ created_model('the user: "fred"').should == user
160
+ end
161
+
162
+ it "created_model?('the user: \"shirl\"') should be false" do
163
+ created_model?('the user: "shirl"').should == false
164
+ end
165
+
166
+ it "model?('the user: \"shirl\"') should be false" do
167
+ model?('the user: "shirl"').should == false
168
+ end
169
+ end
170
+ end
171
+
172
+ describe "with hash" do
173
+ it "should call user_factory.create({'foo' => 'bar'})" do
174
+ user_factory.should_receive(:create).with({'foo' => 'bar'})
175
+ create_model('a user', {'foo' => 'bar'}).should == user
176
+ end
177
+
178
+ describe "after create," do
179
+ before { create_model('a user', {'foo' => 'bar'}) }
180
+
181
+ it_should_behave_like "after storing a single user"
182
+ end
183
+ end
184
+ end
185
+
186
+ describe '#find_model' do
187
+ before do
188
+ Pickle::Adapter.stub!(:find_first_model).with(user_class, anything).and_return(user)
189
+ end
190
+
191
+ it "should call user_class.find :first, :conditions => {<fields>}" do
192
+ find_model('a user', 'hair: "pink"').should == user
193
+ end
194
+
195
+ describe "after find," do
196
+ before { find_model('a user', 'hair: "pink"') }
197
+
198
+ it_should_behave_like "after storing a single user"
199
+ end
200
+
201
+ describe "with hash" do
202
+ it "should call user_class.find('user', {'foo' => 'bar'})" do
203
+ find_model('a user', {'foo' => 'bar'})
204
+ end
205
+
206
+ describe "after find," do
207
+ before { find_model('a user', {'foo' => 'bar'}) }
208
+
209
+ it_should_behave_like "after storing a single user"
210
+ end
211
+ end
212
+ end
213
+
214
+ describe "create and find using plural_factory and table" do
215
+ context "when given a table without a matching pickle ref column" do
216
+ let :table do
217
+ mock(:hashes => [{'name' => 'Fred'}, {'name' => 'Betty'}])
218
+ end
219
+
220
+ it "#create_models_from_table(<plural factory>, <table>) should call create_model for each of the table hashes with plain factory name and return the models" do
221
+ should_receive(:create_model).with("user", 'name' => "Fred").once.ordered.and_return(:fred)
222
+ should_receive(:create_model).with("user", 'name' => "Betty").once.ordered.and_return(:betty)
223
+ create_models_from_table("users", table).should == [:fred, :betty]
224
+ end
225
+
226
+ it "#find_models_from_table(<plural factory>, <table>) should call find_model for each of the table hashes with plain factory name and return the models" do
227
+ should_receive(:find_model).with("user", 'name' => "Fred").once.ordered.and_return(:fred)
228
+ should_receive(:find_model).with("user", 'name' => "Betty").once.ordered.and_return(:betty)
229
+ find_models_from_table("users", table).should == [:fred, :betty]
230
+ end
231
+ end
232
+
233
+ context "when given a table with a matching pickle ref column" do
234
+ let :table do
235
+ mock(:hashes => [{'user' => "fred", 'name' => 'Fred'}, {'user' => "betty", 'name' => 'Betty'}])
236
+ end
237
+
238
+ it "#create_models_from_table(<plural factory>, <table>) should call create_model for each of the table hashes with labelled pickle ref" do
239
+ should_receive(:create_model).with("user \"fred\"", 'name' => "Fred").once.ordered.and_return(:fred)
240
+ should_receive(:create_model).with("user \"betty\"", 'name' => "Betty").once.ordered.and_return(:betty)
241
+ create_models_from_table("users", table).should == [:fred, :betty]
242
+ end
243
+
244
+ it "#find_models_from_table(<plural factory>, <table>) should call find_model for each of the table hashes with labelled pickle ref" do
245
+ should_receive(:find_model).with("user \"fred\"", 'name' => "Fred").once.ordered.and_return(:fred)
246
+ should_receive(:find_model).with("user \"betty\"", 'name' => "Betty").once.ordered.and_return(:betty)
247
+ find_models_from_table("users", table).should == [:fred, :betty]
248
+ end
249
+ end
250
+ end
251
+
252
+ describe "#find_model!" do
253
+ it "should call find_model" do
254
+ should_receive(:find_model).with('name', 'fields').and_return(user)
255
+ find_model!('name', 'fields')
256
+ end
257
+
258
+ it "should call raise error if find_model returns nil" do
259
+ should_receive(:find_model).with('name', 'fields').and_return(nil)
260
+ lambda { find_model!('name', 'fields') }.should raise_error(Pickle::Session::ModelNotKnownError)
261
+ end
262
+ end
263
+
264
+ describe "#find_models" do
265
+ before do
266
+ Pickle::Adapter.stub!(:find_all_models).with(user_class, anything).and_return([user])
267
+ end
268
+
269
+ it "should call User.find :all, :conditions => {'hair' => 'pink'}" do
270
+ find_models('user', 'hair: "pink"').should == [user]
271
+ end
272
+
273
+ describe "after find," do
274
+ before { find_models('user', 'hair: "pink"') }
275
+
276
+ it_should_behave_like "after storing a single user"
277
+ end
278
+
279
+ it "should cope with spaces in the factory name (ie. it should make it canonical)" do
280
+ pickle_parser.stub!(:canonical).and_return('user')
281
+ pickle_parser.should_receive(:canonical).with('u ser').and_return('user')
282
+ find_models('u ser', 'hair: "pink"').should == [user]
283
+ end
284
+ end
285
+
286
+ describe 'creating \'a super admin: "fred"\', then \'a user: "shirl"\', \'then 1 super_admin\' (super_admin is factory that returns users)' do
287
+ let(:fred) { mock("fred", :class => user_class, :id => 2) }
288
+ let(:shirl) { mock("shirl", :class => user_class, :id => 3) }
289
+ let(:noname) { mock("noname", :class => user_class, :is => 4) }
290
+
291
+ let(:super_admin_factory) do
292
+ Pickle::Adapter::FactoryGirl.new(mock(:build_class => user_class, :factory_name => :super_admin))
293
+ end
294
+
295
+ before do
296
+ config.stub(:factories).and_return(user_factory.name => user_factory, super_admin_factory.name => super_admin_factory)
297
+ user_factory.stub(:create).and_return(shirl)
298
+ super_admin_factory.stub(:create).and_return(fred, noname)
299
+ end
300
+
301
+ def do_create_users
302
+ create_model('a super admin: "fred"')
303
+ create_model('a user: "shirl"')
304
+ create_model('1 super_admin')
305
+ end
306
+
307
+ it "should call Factory.create with <'super_admin'>, <'user'>, <'super_admin'>" do
308
+ super_admin_factory.should_receive(:create).with({}).twice
309
+ user_factory.should_receive(:create).with({}).once
310
+ do_create_users
311
+ end
312
+
313
+ describe "after create," do
314
+ before do
315
+ do_create_users
316
+ end
317
+
318
+ it "created_models('user') should == [fred, shirl, noname]" do
319
+ created_models('user').should == [fred, shirl, noname]
320
+ end
321
+
322
+ it "created_models('super_admin') should == [fred, noname]" do
323
+ created_models('super_admin').should == [fred, noname]
324
+ end
325
+
326
+ describe "#created_model" do
327
+ it "'that user' should be noname (the last user created - as super_admins are users)" do
328
+ created_model('that user').should == noname
329
+ end
330
+
331
+ it "'the super admin' should be noname (the last super admin created)" do
332
+ created_model('that super admin').should == noname
333
+ end
334
+
335
+ it "'the 1st super admin' should be fred" do
336
+ created_model('the 1st super admin').should == fred
337
+ end
338
+
339
+ it "'the first user' should be fred" do
340
+ created_model('the first user').should == fred
341
+ end
342
+
343
+ it "'the 2nd user' should be shirl" do
344
+ created_model('the 2nd user').should == shirl
345
+ end
346
+
347
+ it "'the last user' should be noname" do
348
+ created_model('the last user').should == noname
349
+ end
350
+
351
+ it "'the user: \"fred\" should be fred" do
352
+ created_model('the user: "fred"').should == fred
353
+ end
354
+
355
+ it "'the user: \"shirl\" should be shirl" do
356
+ created_model('the user: "shirl"').should == shirl
357
+ end
358
+ end
359
+ end
360
+ end
361
+
362
+ describe "when 'the user: \"me\"' exists and there is a mapping from 'I', 'myself' => 'user: \"me\"" do
363
+ before do
364
+ self.pickle_parser = Pickle::Parser.new(:config => Pickle::Config.new {|c| c.map 'I', 'myself', :to => 'user: "me"'})
365
+ config.stub(:factories).and_return('user' => user_factory)
366
+ Pickle::Adapter.stub!(:get_model).with(user_class, anything).and_return(user)
367
+ user_factory.stub!(:create).and_return(user)
368
+ create_model('the user: "me"')
369
+ end
370
+
371
+ it 'model("I") should return the user' do
372
+ model('I').should == user
373
+ end
374
+
375
+ it 'model("myself") should return the user' do
376
+ model('myself').should == user
377
+ end
378
+
379
+ it "#parser.parse_fields 'author: user \"JIM\"' should raise Error, as model deos not refer" do
380
+ lambda { pickle_parser.parse_fields('author: user "JIM"') }.should raise_error
381
+ end
382
+
383
+ it "#parser.parse_fields 'author: the user' should return {\"author\" => <user>}" do
384
+ pickle_parser.parse_fields('author: the user').should == {"author" => user}
385
+ end
386
+
387
+ it "#parser.parse_fields 'author: myself' should return {\"author\" => <user>}" do
388
+ pickle_parser.parse_fields('author: myself').should == {"author" => user}
389
+ end
390
+
391
+ it "#parser.parse_fields 'author: the user, approver: I, rating: \"5\"' should return {'author' => <user>, 'approver' => <user>, 'rating' => '5'}" do
392
+ pickle_parser.parse_fields('author: the user, approver: I, rating: "5"').should == {'author' => user, 'approver' => user, 'rating' => '5'}
393
+ end
394
+
395
+ it "#parser.parse_fields 'author: user: \"me\", approver: \"\"' should return {'author' => <user>, 'approver' => \"\"}" do
396
+ pickle_parser.parse_fields('author: user: "me", approver: ""').should == {'author' => user, 'approver' => ""}
397
+ end
398
+ end
399
+
400
+ describe "convert_models_to_attributes(ar_class, :user => <a user>)" do
401
+ before do
402
+ user.stub(:is_a?).with(ActiveRecord::Base).and_return(true)
403
+ end
404
+
405
+ describe "(when ar_class has column 'user_id')" do
406
+ let :ar_class do
407
+ mock('ActiveRecord', :column_names => ['user_id'], :const_get => ActiveRecord::Base::PickleAdapter)
408
+ end
409
+
410
+ it "should return {'user_id' => <the user.id>}" do
411
+ convert_models_to_attributes(ar_class, :user => user).should == {'user_id' => user.id}
412
+ end
413
+ end
414
+
415
+ describe "(when ar_class has columns 'user_id', 'user_type')" do
416
+ let :ar_class do
417
+ mock('ActiveRecord', :column_names => ['user_id', 'user_type'], :const_get => ActiveRecord::Base::PickleAdapter)
418
+ end
419
+
420
+ it "should return {'user_id' => <the user.id>, 'user_type' => <the user.base_class>}" do
421
+ user.class.should_receive(:base_class).and_return(mock('User base class', :name => 'UserBase'))
422
+ convert_models_to_attributes(ar_class, :user => user).should == {'user_id' => user.id, 'user_type' => 'UserBase'}
423
+ end
424
+ end
425
+ end
426
+
427
+ it "#model!('unknown') should raise informative error message" do
428
+ lambda { model!('unknown') }.should raise_error(Pickle::Session::ModelNotKnownError, "The model: 'unknown' is not known in this scenario. Use #create_model to create, or #find_model to find, and store a reference in this scenario.")
429
+ end
430
+
431
+ it "#created_model!('unknown') should raise informative error message" do
432
+ lambda { created_model!('unknown') }.should raise_error(Pickle::Session::ModelNotKnownError)
433
+ end
434
+ end
@@ -0,0 +1,24 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe Pickle do
4
+ it ".config should be same object on multiple calls" do
5
+ Pickle.config.should == Pickle.config
6
+ end
7
+
8
+ it ".configure should configure the .config object" do
9
+ Pickle.config.should_receive(:foo).with(:bar)
10
+ Pickle.configure do |c|
11
+ c.foo :bar
12
+ end
13
+ end
14
+
15
+ it ".parser should create a parser with the default config" do
16
+ Pickle.instance_variable_set('@parser', nil)
17
+ Pickle::Parser.should_receive(:new).with(:config => Pickle.config)
18
+ Pickle.parser
19
+ end
20
+
21
+ it ".parser should be same object on multiple calls" do
22
+ Pickle.parser.should == Pickle.parser
23
+ end
24
+ end
@@ -0,0 +1,8 @@
1
+ require 'rubygems'
2
+ require 'spec'
3
+ require 'active_support'
4
+ require 'active_record'
5
+
6
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
7
+ require 'pickle'
8
+ require 'pickle/adapters/active_record'
metadata ADDED
@@ -0,0 +1,199 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: judit-pickle
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 4
8
+ - 2
9
+ version: 0.4.2
10
+ platform: ruby
11
+ authors:
12
+ - Ian White
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2010-08-23 00:00:00 +01:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rspec
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 1
30
+ - 3
31
+ version: "1.3"
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: cucumber
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ segments:
43
+ - 0
44
+ - 8
45
+ version: "0.8"
46
+ type: :runtime
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: yard
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ segments:
57
+ - 0
58
+ version: "0"
59
+ type: :runtime
60
+ version_requirements: *id003
61
+ - !ruby/object:Gem::Dependency
62
+ name: rake
63
+ prerelease: false
64
+ requirement: &id004 !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ segments:
70
+ - 0
71
+ version: "0"
72
+ type: :runtime
73
+ version_requirements: *id004
74
+ description: Easy model creation and reference in your cucumber features
75
+ email: ian.w.white@gmail.com
76
+ executables: []
77
+
78
+ extensions: []
79
+
80
+ extra_rdoc_files:
81
+ - README.rdoc
82
+ files:
83
+ - .gitignore
84
+ - Gemfile
85
+ - Gemfile.lock
86
+ - History.txt
87
+ - License.txt
88
+ - README.rdoc
89
+ - Rakefile
90
+ - Rakefile.d/cucumber.rake
91
+ - Rakefile.d/jeweler.rake
92
+ - Rakefile.d/rcov.rake
93
+ - Rakefile.d/rspec.rake
94
+ - Rakefile.d/yard.rake
95
+ - Todo.txt
96
+ - VERSION
97
+ - features/app/app.rb
98
+ - features/app/blueprints.rb
99
+ - features/app/factories.rb
100
+ - features/app/views/notifier/email.erb
101
+ - features/app/views/notifier/user_email.erb
102
+ - features/email/email.feature
103
+ - features/generator/generators.feature
104
+ - features/path/models_page.feature
105
+ - features/path/named_route_page.feature
106
+ - features/pickle/create_from_active_record.feature
107
+ - features/pickle/create_from_factory_girl.feature
108
+ - features/pickle/create_from_machinist.feature
109
+ - features/step_definitions/email_steps.rb
110
+ - features/step_definitions/extra_email_steps.rb
111
+ - features/step_definitions/fork_steps.rb
112
+ - features/step_definitions/generator_steps.rb
113
+ - features/step_definitions/path_steps.rb
114
+ - features/step_definitions/pickle_steps.rb
115
+ - features/step_definitions/raise_error_steps.rb
116
+ - features/support/email.rb
117
+ - features/support/env.rb
118
+ - features/support/paths.rb
119
+ - features/support/pickle.rb
120
+ - features/support/pickle_app.rb
121
+ - init.rb
122
+ - lib/generators/pickle_generator.rb
123
+ - lib/pickle.rb
124
+ - lib/pickle/adapter.rb
125
+ - lib/pickle/adapters/active_record.rb
126
+ - lib/pickle/adapters/data_mapper.rb
127
+ - lib/pickle/adapters/mongoid.rb
128
+ - lib/pickle/config.rb
129
+ - lib/pickle/email.rb
130
+ - lib/pickle/email/parser.rb
131
+ - lib/pickle/email/world.rb
132
+ - lib/pickle/parser.rb
133
+ - lib/pickle/parser/matchers.rb
134
+ - lib/pickle/path.rb
135
+ - lib/pickle/path/world.rb
136
+ - lib/pickle/session.rb
137
+ - lib/pickle/session/parser.rb
138
+ - lib/pickle/version.rb
139
+ - lib/pickle/world.rb
140
+ - pickle.gemspec
141
+ - rails_generators/pickle/pickle_generator.rb
142
+ - rails_generators/pickle/templates/email.rb
143
+ - rails_generators/pickle/templates/email_steps.rb
144
+ - rails_generators/pickle/templates/paths.rb
145
+ - rails_generators/pickle/templates/pickle.rb
146
+ - rails_generators/pickle/templates/pickle_steps.rb
147
+ - spec/pickle/adapter_spec.rb
148
+ - spec/pickle/config_spec.rb
149
+ - spec/pickle/email/parser_spec.rb
150
+ - spec/pickle/email_spec.rb
151
+ - spec/pickle/parser/matchers_spec.rb
152
+ - spec/pickle/parser_spec.rb
153
+ - spec/pickle/path_spec.rb
154
+ - spec/pickle/session_spec.rb
155
+ - spec/pickle_spec.rb
156
+ - spec/spec_helper.rb
157
+ has_rdoc: true
158
+ homepage: http://github.com/ianwhite/pickle/tree
159
+ licenses: []
160
+
161
+ post_install_message:
162
+ rdoc_options:
163
+ - --charset=UTF-8
164
+ require_paths:
165
+ - lib
166
+ required_ruby_version: !ruby/object:Gem::Requirement
167
+ none: false
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ segments:
172
+ - 0
173
+ version: "0"
174
+ required_rubygems_version: !ruby/object:Gem::Requirement
175
+ none: false
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ segments:
180
+ - 0
181
+ version: "0"
182
+ requirements: []
183
+
184
+ rubyforge_project:
185
+ rubygems_version: 1.3.7
186
+ signing_key:
187
+ specification_version: 3
188
+ summary: Easy model creation and reference in your cucumber features
189
+ test_files:
190
+ - spec/pickle/adapter_spec.rb
191
+ - spec/pickle/config_spec.rb
192
+ - spec/pickle/email/parser_spec.rb
193
+ - spec/pickle/email_spec.rb
194
+ - spec/pickle/parser/matchers_spec.rb
195
+ - spec/pickle/parser_spec.rb
196
+ - spec/pickle/path_spec.rb
197
+ - spec/pickle/session_spec.rb
198
+ - spec/pickle_spec.rb
199
+ - spec/spec_helper.rb