draftsman 0.3.1 → 0.3.2

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.
@@ -5,10 +5,10 @@ describe Whitelister do
5
5
  it { should be_draftable }
6
6
 
7
7
  # Not affected by this customization
8
- describe :draft_creation do
8
+ describe 'draft_creation' do
9
9
  end
10
10
 
11
- describe :draft_update do
11
+ describe 'draft_update' do
12
12
  subject do
13
13
  whitelister.draft_update
14
14
  whitelister.reload
@@ -21,24 +21,44 @@ describe Whitelister do
21
21
  whitelister.attributes = { :name => 'Sam', :ignored => 'Meh.' }
22
22
  end
23
23
 
24
- it { should be_persisted }
25
- it { should be_draft }
26
- its(:draft_id) { should be_present }
27
- its(:draft) { should be_present }
28
- its(:draft) { should be_update }
29
- its(:name) { should eql 'Bob' }
30
- its(:ignored) { should eql 'Meh.' }
24
+ it 'is persisted' do
25
+ expect(subject).to be_persisted
26
+ end
27
+
28
+ it 'is a draft' do
29
+ expect(subject.draft?).to eql true
30
+ end
31
+
32
+ it 'has a `draft_id`' do
33
+ expect(subject.draft_id).to be_present
34
+ end
35
+
36
+ it 'has a `draft`' do
37
+ expect(subject.draft).to be_present
38
+ end
39
+
40
+ it 'has an `update` draft' do
41
+ expect(subject.draft.update?).to eql true
42
+ end
43
+
44
+ it 'has its original `name`' do
45
+ expect(subject.name).to eql 'Bob'
46
+ end
47
+
48
+ it 'has the ignored value' do
49
+ expect(subject.ignored).to eql 'Meh.'
50
+ end
31
51
 
32
52
  it 'creates a new draft' do
33
53
  expect { subject }.to change(Draftsman::Draft, :count).by(1)
34
54
  end
35
55
 
36
56
  it 'has an `update` draft' do
37
- subject.draft.update?.should be_true
57
+ expect(subject.draft.update?).to eql true
38
58
  end
39
59
 
40
- its "draft's name should be `Sam`" do
41
- subject.draft.reify.name.should eql 'Sam'
60
+ it "updates the draft's name to `Sam`" do
61
+ expect(subject.draft.reify.name).to eql 'Sam'
42
62
  end
43
63
 
44
64
  context 'changing back to initial state' do
@@ -47,11 +67,25 @@ describe Whitelister do
47
67
  whitelister.attributes = { :name => 'Bob', :ignored => 'Huzzah!' }
48
68
  end
49
69
 
50
- it { should_not be_draft }
51
- its(:name) { should eql 'Bob' }
52
- its(:ignored) { should eql 'Huzzah!' }
53
- its(:draft_id) { should be_nil }
54
- its(:draft) { should be_nil }
70
+ it 'is no longer a draft' do
71
+ expect(subject.draft?).to eql false
72
+ end
73
+
74
+ it 'has its original `name`' do
75
+ expect(subject.name).to eql 'Bob'
76
+ end
77
+
78
+ it 'updates the ignored attribute' do
79
+ expect(subject.ignored).to eql 'Huzzah!'
80
+ end
81
+
82
+ it 'does not have a `draft_id`' do
83
+ expect(subject.draft_id).to be_nil
84
+ end
85
+
86
+ it 'does not have a `draft`' do
87
+ expect(subject.draft).to be_nil
88
+ end
55
89
 
56
90
  it 'destroys the draft' do
57
91
  expect { subject }.to change(Draftsman::Draft.where(:id => whitelister.draft_id), :count).by(-1)
@@ -64,33 +98,68 @@ describe Whitelister do
64
98
 
65
99
  context 'with changes' do
66
100
  before { whitelister.attributes = { :name => 'Sam', :ignored => 'Meh.' } }
67
- it { should be_persisted }
68
- it { should be_draft }
69
- its(:draft_id) { should be_present }
70
- its(:draft) { should be_present }
71
- its(:draft) { should be_create }
72
- its(:name) { should eql 'Sam' }
101
+
102
+ it 'is persisted' do
103
+ expect(subject).to be_persisted
104
+ end
105
+
106
+ it 'is a draft' do
107
+ expect(subject.draft?).to eql true
108
+ end
109
+
110
+ it 'has a `draft_id`' do
111
+ expect(subject.draft_id).to be_present
112
+ end
113
+
114
+ it 'has a `draft`' do
115
+ expect(subject.draft).to be_present
116
+ end
117
+
118
+ it 'has a `create` draft' do
119
+ expect(subject.draft.create?).to eql true
120
+ end
121
+
122
+ it 'updates the `name`' do
123
+ expect(subject.name).to eql 'Sam'
124
+ end
73
125
 
74
126
  it 'updates the existing draft' do
75
127
  expect { subject }.to_not change(Draftsman::Draft.where(:id => whitelister.draft_id), :count)
76
128
  end
77
129
 
78
- its "draft's `name` is updated" do
79
- subject.draft.reify.name.should eql 'Sam'
130
+ it "updates the draft's `name`" do
131
+ expect(subject.draft.reify.name).to eql 'Sam'
80
132
  end
81
133
 
82
- its "draft's `ignored` is updated" do
83
- subject.draft.reify.ignored.should eql 'Meh.'
134
+ it "updates the draft's ignored attribute" do
135
+ expect(subject.draft.reify.ignored).to eql 'Meh.'
84
136
  end
85
137
  end
86
138
 
87
139
  context 'with no changes' do
88
- it { should be_persisted }
89
- it { should be_draft }
90
- its(:draft_id) { should be_present }
91
- its(:draft) { should be_present }
92
- its(:draft) { should be_create }
93
- its(:name) { should eql 'Bob' }
140
+ it 'is persisted' do
141
+ expect(subject).to be_persisted
142
+ end
143
+
144
+ it 'is a draft' do
145
+ expect(subject.draft?).to eql true
146
+ end
147
+
148
+ it 'has a `draft_id`' do
149
+ expect(subject.draft_id).to be_present
150
+ end
151
+
152
+ it 'has a `draft`' do
153
+ expect(subject.draft).to be_present
154
+ end
155
+
156
+ it 'has a `create` draft' do
157
+ expect(subject.draft.create?).to eql true
158
+ end
159
+
160
+ it 'keeps its original `name`' do
161
+ expect(subject.name).to eql 'Bob'
162
+ end
94
163
 
95
164
  it "doesn't change the number of drafts" do
96
165
  expect { subject }.to_not change(Draftsman::Draft.where(:id => whitelister.draft_id), :count)
@@ -106,44 +175,79 @@ describe Whitelister do
106
175
 
107
176
  context 'with changes' do
108
177
  before { whitelister.attributes = { :name => 'Steve', :ignored => 'Huzzah!' } }
109
- it { should be_persisted }
110
- it { should be_draft }
111
- its(:draft_id) { should be_present }
112
- its(:draft) { should be_present }
113
- its(:draft) { should be_update }
114
- its(:name) { should eql 'Bob' }
115
- its(:ignored) { should eql 'Huzzah!' }
178
+
179
+ it 'is persisted' do
180
+ expect(subject).to be_persisted
181
+ end
182
+
183
+ it 'is a draft' do
184
+ expect(subject.draft?).to eql true
185
+ end
186
+
187
+ it 'has a `draft_id`' do
188
+ expect(subject.draft_id).to be_present
189
+ end
190
+
191
+ it 'has a `draft`' do
192
+ expect(subject.draft).to be_present
193
+ end
194
+
195
+ it 'has an `update` draft' do
196
+ expect(subject.draft.update?).to eql true
197
+ end
198
+
199
+ it 'has its original `name`' do
200
+ expect(subject.name).to eql 'Bob'
201
+ end
202
+
203
+ it 'has the updated ignored attribute' do
204
+ expect(subject.ignored).to eql 'Huzzah!'
205
+ end
116
206
 
117
207
  it 'updates the existing draft' do
118
208
  expect { subject }.to_not change(Draftsman::Draft.where(:id => whitelister.draft_id), :count)
119
209
  end
120
210
 
121
- its "draft's `name` is updated" do
122
- subject.draft.reify.name.should eql 'Steve'
211
+ it "updates its draft's `name`" do
212
+ expect(subject.draft.reify.name).to eql 'Steve'
123
213
  end
124
214
 
125
- its "draft's `ignored` is 'Huzzah!'" do
126
- subject.draft.reify.ignored.should eql 'Huzzah!'
215
+ it "updates its draft's `ignored` attribute" do
216
+ expect(subject.draft.reify.ignored).to eql 'Huzzah!'
127
217
  end
128
218
  end
129
219
 
130
220
  context 'with no changes' do
131
- it { should be_persisted }
132
- it { should be_draft }
133
- its(:draft_id) { should be_present }
134
- its(:draft) { should be_present }
135
- its(:name) { should eql 'Bob' }
221
+ it 'is persisted' do
222
+ expect(subject).to be_persisted
223
+ end
224
+
225
+ it 'is a draft' do
226
+ expect(subject.draft?).to eql true
227
+ end
228
+
229
+ it 'has a `draft_id`' do
230
+ expect(subject.draft_id).to be_present
231
+ end
232
+
233
+ it 'has a `draft`' do
234
+ expect(subject.draft).to be_present
235
+ end
236
+
237
+ it 'has its original `name`' do
238
+ expect(subject.name).to eql 'Bob'
239
+ end
136
240
 
137
241
  it "doesn't change the number of drafts" do
138
242
  expect { subject }.to_not change(Draftsman::Draft.where(:id => whitelister.draft_id), :count)
139
243
  end
140
244
 
141
- its "draft's `name` is not updated" do
142
- subject.draft.reify.name.should eql 'Sam'
245
+ it "does not update its draft's `name`" do
246
+ expect(subject.draft.reify.name).to eql 'Sam'
143
247
  end
144
248
 
145
249
  it 'still has an `update` draft' do
146
- subject.draft.update?.should be_true
250
+ expect(subject.draft.update?).to eql true
147
251
  end
148
252
  end
149
253
  end
@@ -156,12 +260,29 @@ describe Whitelister do
156
260
  whitelister.ignored = 'Huzzah!'
157
261
  end
158
262
 
159
- it { should be_persisted }
160
- it { should_not be_draft }
161
- its(:draft_id) { should be_nil }
162
- its(:draft) { should be_nil }
163
- its(:name) { should eql 'Bob' }
164
- its(:ignored) { should eql 'Huzzah!' }
263
+ it 'is persisted' do
264
+ expect(subject).to be_persisted
265
+ end
266
+
267
+ it 'is not a draft' do
268
+ expect(subject.draft?).to eql false
269
+ end
270
+
271
+ it 'does not have a `draft_id`' do
272
+ expect(subject.draft_id).to be_nil
273
+ end
274
+
275
+ it 'does not create a `draft`' do
276
+ expect(subject.draft).to be_nil
277
+ end
278
+
279
+ it 'has the same `name`' do
280
+ expect(subject.name).to eql 'Bob'
281
+ end
282
+
283
+ it 'has an updated ignored attribute' do
284
+ expect(subject.ignored).to eql 'Huzzah!'
285
+ end
165
286
 
166
287
  it 'does not create a draft' do
167
288
  expect { subject }.to_not change(Draftsman::Draft, :count)
@@ -178,23 +299,40 @@ describe Whitelister do
178
299
  whitelister.ignored = 'Huzzah!'
179
300
  end
180
301
 
181
- it { should be_persisted }
182
- it { should be_draft }
183
- its(:draft_id) { should be_present }
184
- its(:draft) { should be_present }
185
- its(:name) { should eql 'Bob' }
186
- its(:ignored) { should eql 'Huzzah!' }
302
+ it 'is persisted' do
303
+ expect(subject).to be_persisted
304
+ end
305
+
306
+ it 'is a draft' do
307
+ expect(subject.draft?).to eql true
308
+ end
309
+
310
+ it 'has a `draft_id`' do
311
+ expect(subject.draft_id).to be_present
312
+ end
313
+
314
+ it 'has a `draft`' do
315
+ expect(subject.draft).to be_present
316
+ end
317
+
318
+ it 'has the same `name`' do
319
+ expect(subject.name).to eql 'Bob'
320
+ end
321
+
322
+ it 'has an updated ignored attribute' do
323
+ expect(subject.ignored).to eql 'Huzzah!'
324
+ end
187
325
 
188
326
  it 'updates the existing draft' do
189
327
  expect { subject }.to_not change(Draftsman::Draft.where(:id => whitelister.draft_id), :count)
190
328
  end
191
329
 
192
- its "draft's `ignored` is updated" do
193
- subject.draft.reify.ignored.should eql 'Huzzah!'
330
+ it "updates its draft's `ignored` attribute" do
331
+ expect(subject.draft.reify.ignored).to eql 'Huzzah!'
194
332
  end
195
333
 
196
334
  it 'has a `create` draft' do
197
- subject.draft.should be_create
335
+ expect(subject.draft.create?).to eql true
198
336
  end
199
337
  end
200
338
 
@@ -206,46 +344,87 @@ describe Whitelister do
206
344
 
207
345
  context 'with changes' do
208
346
  before { whitelister.ignored = 'Huzzah!' }
209
- it { should be_persisted }
210
- it { should be_draft }
211
- its(:draft_id) { should be_present }
212
- its(:draft) { should be_present }
213
- its(:draft) { should be_update }
214
- its(:name) { should eql 'Bob' }
215
- its(:ignored) { should eql 'Huzzah!' }
347
+
348
+ it 'is persisted' do
349
+ expect(subject).to be_persisted
350
+ end
351
+
352
+ it 'is a draft' do
353
+ expect(subject.draft?).to eql true
354
+ end
355
+
356
+ it 'has a `draft_id`' do
357
+ expect(subject.draft_id).to be_present
358
+ end
359
+
360
+ it 'has a `draft`' do
361
+ expect(subject.draft).to be_present
362
+ end
363
+
364
+ it 'has an `update` draft' do
365
+ expect(subject.draft.update?).to eql true
366
+ end
367
+
368
+ it 'has its original `name`' do
369
+ expect(subject.name).to eql 'Bob'
370
+ end
371
+
372
+ it 'has an updated ignored attribute' do
373
+ expect(subject.ignored).to eql 'Huzzah!'
374
+ end
216
375
 
217
376
  it 'updates the existing draft' do
218
377
  expect { subject }.to_not change(Draftsman::Draft.where(:id => whitelister.draft_id), :count)
219
378
  end
220
379
 
221
- its "draft's `name` is not changed" do
222
- subject.draft.reify.name.should eql 'Sam'
380
+ it "updates its draft's `name`" do
381
+ expect(subject.draft.reify.name).to eql 'Sam'
223
382
  end
224
383
 
225
- its "draft's `ignored` is updated" do
226
- subject.draft.reify.ignored.should eql 'Huzzah!'
384
+ it "updated its draft's `ignored` attribute" do
385
+ expect(subject.draft.reify.ignored).to eql 'Huzzah!'
227
386
  end
228
387
  end
229
388
 
230
389
  context 'with no changes' do
231
- it { should be_persisted }
232
- it { should be_draft }
233
- its(:draft_id) { should be_present }
234
- its(:draft) { should be_present }
235
- its(:draft) { should be_update }
236
- its(:name) { should eql 'Bob' }
237
- its(:ignored) { should eql 'Meh.' }
390
+ it 'is persisted' do
391
+ expect(subject).to be_persisted
392
+ end
393
+
394
+ it 'is a draft' do
395
+ expect(subject.draft?).to eql true
396
+ end
397
+
398
+ it 'has a `draft_id`' do
399
+ expect(subject.draft_id).to be_present
400
+ end
401
+
402
+ it 'has a `draft`' do
403
+ expect(subject.draft).to be_present
404
+ end
405
+
406
+ it 'has an `update` draft' do
407
+ expect(subject.draft.update?).to eql true
408
+ end
409
+
410
+ it 'has its original `name`' do
411
+ expect(subject.name).to eql 'Bob'
412
+ end
413
+
414
+ it 'has its original `ignored` attribute' do
415
+ expect(subject.ignored).to eql 'Meh.'
416
+ end
238
417
 
239
418
  it "doesn't change the number of drafts" do
240
419
  expect { subject }.to_not change(Draftsman::Draft.where(:id => whitelister.draft_id), :count)
241
420
  end
242
421
 
243
- its "draft's `name` is not updated" do
244
- subject.draft.reify.name.should eql 'Sam'
422
+ it "does not update its draft's `name`" do
423
+ expect(subject.draft.reify.name).to eql 'Sam'
245
424
  end
246
425
 
247
- its "draft's `ignored` is not updated" do
248
- subject.draft.reify.ignored.should eql 'Meh.'
426
+ it "does not update its draft's `ignored` attribute" do
427
+ expect(subject.draft.reify.ignored).to eql 'Meh.'
249
428
  end
250
429
  end
251
430
  end
@@ -253,7 +432,7 @@ describe Whitelister do
253
432
  end
254
433
 
255
434
  # Not affected by this customization
256
- describe :draft_destroy do
435
+ describe 'draft_destroy' do
257
436
  end
258
437
 
259
438
  # Not affected by this customization
data/spec/spec_helper.rb CHANGED
@@ -2,9 +2,6 @@ ENV['RAILS_ENV'] ||= 'test'
2
2
  require File.expand_path('../dummy/config/environment.rb', __FILE__)
3
3
 
4
4
  require 'rspec/rails'
5
- require 'rspec/autorun'
6
- require 'shoulda/matchers/integrations/rspec'
7
- require 'capybara/rspec'
8
5
 
9
6
  Rails.backtrace_cleaner.remove_silencers!
10
7
 
@@ -14,8 +11,6 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
14
11
 
15
12
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
16
13
  RSpec.configure do |config|
17
- config.treat_symbols_as_metadata_keys_with_true_values = true
18
-
19
14
  # ## Mock Framework
20
15
  #
21
16
  # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
@@ -41,7 +36,7 @@ RSpec.configure do |config|
41
36
  # order dependency and want to debug it, you can fix the order by providing
42
37
  # the seed, which is printed after each run.
43
38
  # --seed 1234
44
- # config.order = 'random'
39
+ config.order = 'random'
45
40
 
46
41
  config.mock_with :rspec
47
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: draftsman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Peters
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-14 00:00:00.000000000 Z
11
+ date: 2015-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -30,20 +30,6 @@ dependencies:
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '5.0'
33
- - !ruby/object:Gem::Dependency
34
- name: capybara
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - ">="
38
- - !ruby/object:Gem::Version
39
- version: '0'
40
- type: :development
41
- prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: '0'
47
33
  - !ruby/object:Gem::Dependency
48
34
  name: rake
49
35
  requirement: !ruby/object:Gem::Requirement
@@ -96,30 +82,16 @@ dependencies:
96
82
  name: rspec-rails
97
83
  requirement: !ruby/object:Gem::Requirement
98
84
  requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- version: '0'
102
- type: :development
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- requirements:
106
- - - ">="
107
- - !ruby/object:Gem::Version
108
- version: '0'
109
- - !ruby/object:Gem::Dependency
110
- name: shoulda-matchers
111
- requirement: !ruby/object:Gem::Requirement
112
- requirements:
113
- - - ">="
85
+ - - '='
114
86
  - !ruby/object:Gem::Version
115
- version: '0'
87
+ version: 3.2.1
116
88
  type: :development
117
89
  prerelease: false
118
90
  version_requirements: !ruby/object:Gem::Requirement
119
91
  requirements:
120
- - - ">="
92
+ - - '='
121
93
  - !ruby/object:Gem::Version
122
- version: '0'
94
+ version: 3.2.1
123
95
  - !ruby/object:Gem::Dependency
124
96
  name: sqlite3
125
97
  requirement: !ruby/object:Gem::Requirement
@@ -137,7 +109,18 @@ dependencies:
137
109
  description: Create draft versions of your ActiveRecord models' data. Works with Ruby
138
110
  on Rails and Sinatra.
139
111
  email: chris@minimalorange.com
140
- executables: []
112
+ executables:
113
+ - bundler
114
+ - erubis
115
+ - htmldiff
116
+ - ldiff
117
+ - nokogiri
118
+ - rackup
119
+ - rails
120
+ - rake
121
+ - rspec
122
+ - thor
123
+ - tilt
141
124
  extensions: []
142
125
  extra_rdoc_files: []
143
126
  files:
@@ -147,10 +130,20 @@ files:
147
130
  - ".ruby-version"
148
131
  - CHANGELOG.md
149
132
  - Gemfile
150
- - Gemfile.lock
151
133
  - LICENSE
152
134
  - README.md
153
135
  - Rakefile
136
+ - bin/bundler
137
+ - bin/erubis
138
+ - bin/htmldiff
139
+ - bin/ldiff
140
+ - bin/nokogiri
141
+ - bin/rackup
142
+ - bin/rails
143
+ - bin/rake
144
+ - bin/rspec
145
+ - bin/thor
146
+ - bin/tilt
154
147
  - draftsman.gemspec
155
148
  - lib/draftsman.rb
156
149
  - lib/draftsman/config.rb
@@ -227,7 +220,7 @@ files:
227
220
  - spec/models/vanilla_spec.rb
228
221
  - spec/models/whitelister_spec.rb
229
222
  - spec/spec_helper.rb
230
- homepage: https://github.com/live-editor/draftsman
223
+ homepage: https://github.com/liveeditor/draftsman
231
224
  licenses:
232
225
  - MIT
233
226
  metadata: {}
@@ -247,7 +240,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
247
240
  version: '0'
248
241
  requirements: []
249
242
  rubyforge_project:
250
- rubygems_version: 2.2.2
243
+ rubygems_version: 2.4.6
251
244
  signing_key:
252
245
  specification_version: 4
253
246
  summary: Create draft versions of your ActiveRecord models' data. Works with Ruby