sequel_bitemporal 0.8.1 → 0.8.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.
@@ -12,34 +12,34 @@ if DbHelpers.pg?
12
12
  Timecop.return
13
13
  end
14
14
  it "checks version class is given" do
15
- lambda{
15
+ expect{
16
16
  @version_class.plugin :bitemporal
17
- }.should raise_error Sequel::Error, "please specify version class to use for bitemporal plugin"
17
+ }.to raise_error Sequel::Error, "please specify version class to use for bitemporal plugin"
18
18
  end
19
19
  it "checks required columns are present" do
20
- lambda{
20
+ expect{
21
21
  @version_class.plugin :bitemporal, :version_class => @master_class
22
- }.should raise_error Sequel::Error, "bitemporal plugin requires the following missing columns on version class: master_id, valid_from, valid_to, created_at, expired_at"
22
+ }.to raise_error Sequel::Error, "bitemporal plugin requires the following missing columns on version class: master_id, valid_from, valid_to, created_at, expired_at"
23
23
  end
24
24
  it "propagates errors from version to master" do
25
25
  master = @master_class.new
26
- master.should be_valid
26
+ expect(master).to be_valid
27
27
  master.attributes = {name: "Single Standard"}
28
- master.should_not be_valid
29
- master.errors.should == {price: ["is required"]}
28
+ expect(master).not_to be_valid
29
+ expect(master.errors).to eq({price: ["is required"]})
30
30
  end
31
31
  it "#update_attributes returns false instead of raising errors" do
32
32
  master = @master_class.new
33
- master.update_attributes(name: "Single Standard").should be_false
34
- master.should be_new
35
- master.errors.should == {price: ["is required"]}
36
- master.update_attributes(price: 98).should be_true
33
+ expect(master.update_attributes(name: "Single Standard")).to be_falsey
34
+ expect(master).to be_new
35
+ expect(master.errors).to eq({price: ["is required"]})
36
+ expect(master.update_attributes(price: 98)).to be_truthy
37
37
  end
38
38
  it "allows creating a master and its first version in one step" do
39
39
  master = @master_class.new
40
- master.update_attributes(name: "Single Standard", price: 98).should be_true
41
- master.should_not be_new
42
- master.should have_versions %Q{
40
+ expect(master.update_attributes(name: "Single Standard", price: 98)).to be_truthy
41
+ expect(master).not_to be_new
42
+ expect(master).to have_versions %Q{
43
43
  | name | price | created_at | expired_at | valid_from | valid_to | current |
44
44
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | | 2009-11-28 10:00:00 +0000 | MAX TIME | true |
45
45
  }
@@ -47,7 +47,7 @@ if DbHelpers.pg?
47
47
  it "allows creating a new version in the past" do
48
48
  master = @master_class.new
49
49
  master.update_attributes name: "Single Standard", price: 98, valid_from: Time.now-hour
50
- master.should have_versions %Q{
50
+ expect(master).to have_versions %Q{
51
51
  | name | price | created_at | expired_at | valid_from | valid_to | current |
52
52
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | | 2009-11-28 09:00:00 +0000 | MAX TIME | true |
53
53
  }
@@ -55,7 +55,7 @@ if DbHelpers.pg?
55
55
  it "allows creating a new version in the future" do
56
56
  master = @master_class.new
57
57
  master.update_attributes name: "Single Standard", price: 98, valid_from: Time.now+hour
58
- master.should have_versions %Q{
58
+ expect(master).to have_versions %Q{
59
59
  | name | price | created_at | expired_at | valid_from | valid_to | current |
60
60
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | | 2009-11-28 11:00:00 +0000 | MAX TIME | |
61
61
  }
@@ -64,7 +64,7 @@ if DbHelpers.pg?
64
64
  master = @master_class.new
65
65
  master.update_attributes name: "Single Standard", price: 98
66
66
  master.update_attributes name: "Single Standard", price: 94
67
- master.should have_versions %Q{
67
+ expect(master).to have_versions %Q{
68
68
  | name | price | created_at | expired_at | valid_from | valid_to | current |
69
69
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 10:00:00 +0000 | 2009-11-28 10:00:00 +0000 | MAX TIME | |
70
70
  | Single Standard | 94 | 2009-11-28 10:00:00 +0000 | | 2009-11-28 10:00:00 +0000 | MAX TIME | true |
@@ -75,7 +75,7 @@ if DbHelpers.pg?
75
75
  master.update_attributes name: "Single Standard", price: 98
76
76
  master.update_attributes price: 94
77
77
  master.update_attributes name: "King Size"
78
- master.should have_versions %Q{
78
+ expect(master).to have_versions %Q{
79
79
  | name | price | created_at | expired_at | valid_from | valid_to | current |
80
80
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 10:00:00 +0000 | 2009-11-28 10:00:00 +0000 | MAX TIME | |
81
81
  | Single Standard | 94 | 2009-11-28 10:00:00 +0000 | 2009-11-28 10:00:00 +0000 | 2009-11-28 10:00:00 +0000 | MAX TIME | |
@@ -87,7 +87,7 @@ if DbHelpers.pg?
87
87
  master.update_attributes name: "Single Standard", price: 98
88
88
  Timecop.freeze Time.now+hour
89
89
  master.update_attributes price: 94
90
- master.should have_versions %Q{
90
+ expect(master).to have_versions %Q{
91
91
  | name | price | created_at | expired_at | valid_from | valid_to | current |
92
92
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | 2009-11-28 10:00:00 +0000 | MAX TIME | |
93
93
  | Single Standard | 98 | 2009-11-28 11:00:00 +0000 | | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | |
@@ -98,9 +98,9 @@ if DbHelpers.pg?
98
98
  master = @master_class.new
99
99
  master.update_attributes name: "Single Standard", price: 98, valid_to: Time.now+hour
100
100
  Timecop.freeze Time.now+hour
101
- master.update_attributes(price: 94).should be_false
101
+ expect(master.update_attributes(price: 94)).to be_falsey
102
102
  master.update_attributes name: "Single Standard", price: 94
103
- master.should have_versions %Q{
103
+ expect(master).to have_versions %Q{
104
104
  | name | price | created_at | expired_at | valid_from | valid_to | current |
105
105
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | |
106
106
  | Single Standard | 94 | 2009-11-28 11:00:00 +0000 | | 2009-11-28 11:00:00 +0000 | MAX TIME | true |
@@ -111,7 +111,7 @@ if DbHelpers.pg?
111
111
  master.update_attributes name: "Single Standard", price: 98
112
112
  Timecop.freeze Time.now+hour
113
113
  master.update_attributes valid_to: Time.now+10*hour
114
- master.should have_versions %Q{
114
+ expect(master).to have_versions %Q{
115
115
  | name | price | created_at | expired_at | valid_from | valid_to | current |
116
116
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | 2009-11-28 10:00:00 +0000 | MAX TIME | |
117
117
  | Single Standard | 98 | 2009-11-28 11:00:00 +0000 | | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | |
@@ -126,12 +126,12 @@ if DbHelpers.pg?
126
126
  master = @master_class.new
127
127
  master.update_attributes name: "Single Standard", price: 98, valid_to: Time.now+2*hour
128
128
  Timecop.freeze Time.now+hour
129
- master.should have_versions %Q{
129
+ expect(master).to have_versions %Q{
130
130
  | name | price | created_at | expired_at | valid_from | valid_to | current |
131
131
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | | 2009-11-28 10:00:00 +0000 | 2009-11-28 12:00:00 +0000 | true |
132
132
  }
133
133
  master.update_attributes valid_to: nil
134
- master.should have_versions %Q{
134
+ expect(master).to have_versions %Q{
135
135
  | name | price | created_at | expired_at | valid_from | valid_to | current |
136
136
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | 2009-11-28 10:00:00 +0000 | 2009-11-28 12:00:00 +0000 | |
137
137
  | Single Standard | 98 | 2009-11-28 11:00:00 +0000 | | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | |
@@ -147,7 +147,7 @@ if DbHelpers.pg?
147
147
  master.update_attributes name: "Single Standard", price: 98
148
148
  master.update_attributes price: 98
149
149
  master.update_attributes name: "Single Standard", price: 98
150
- master.should have_versions %Q{
150
+ expect(master).to have_versions %Q{
151
151
  | name | price | created_at | expired_at | valid_from | valid_to | current |
152
152
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | | 2009-11-28 10:00:00 +0000| MAX TIME | true |
153
153
  }
@@ -158,7 +158,7 @@ if DbHelpers.pg?
158
158
  Timecop.freeze Time.now+hour
159
159
  master.update_attributes price: 98, valid_from: Time.now-2*hour
160
160
  master.update_attributes price: 98, valid_from: Time.now+1*hour
161
- master.should have_versions %Q{
161
+ expect(master).to have_versions %Q{
162
162
  | name | price | created_at | expired_at | valid_from | valid_to | current |
163
163
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | | 2009-11-28 10:00:00 +0000 | MAX TIME | true |
164
164
  | Single Standard | 98 | 2009-11-28 11:00:00 +0000 | | 2009-11-28 09:00:00 +0000 | 2009-11-28 10:00:00 +0000 | |
@@ -175,7 +175,7 @@ if DbHelpers.pg?
175
175
  master.update_attributes name: "Single Standard", price: 95, valid_from: Time.now+4*hour, valid_to: Time.now+6*hour
176
176
  Timecop.freeze Time.now+hour
177
177
  master.update_attributes name: "King Size", valid_to: nil
178
- master.should have_versions %Q{
178
+ expect(master).to have_versions %Q{
179
179
  | name | price | created_at | expired_at | valid_from | valid_to | current |
180
180
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | 2009-11-28 10:00:00 +0000 | 2009-11-28 12:00:00 +0000 | |
181
181
  | Single Standard | 94 | 2009-11-28 10:00:00 +0000 | | 2009-11-28 12:00:00 +0000 | 2009-11-28 14:00:00 +0000 | |
@@ -191,7 +191,7 @@ if DbHelpers.pg?
191
191
  master.update_attributes name: "Single Standard", price: 95, valid_from: Time.now+4*hour, valid_to: Time.now+6*hour
192
192
  Timecop.freeze Time.now+hour
193
193
  master.update_attributes name: "King Size", valid_to: Time.now+4*hour
194
- master.should have_versions %Q{
194
+ expect(master).to have_versions %Q{
195
195
  | name | price | created_at | expired_at | valid_from | valid_to | current |
196
196
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | 2009-11-28 10:00:00 +0000 | 2009-11-28 12:00:00 +0000 | |
197
197
  | Single Standard | 94 | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | 2009-11-28 12:00:00 +0000 | 2009-11-28 14:00:00 +0000 | |
@@ -208,7 +208,7 @@ if DbHelpers.pg?
208
208
  master.update_attributes name: "Single Standard", price: 95, valid_from: Time.now+4*hour, valid_to: Time.now+6*hour
209
209
  Timecop.freeze Time.now+hour
210
210
  master.update_attributes name: "King Size", valid_to: Time.utc(9999)
211
- master.should have_versions %Q{
211
+ expect(master).to have_versions %Q{
212
212
  | name | price | created_at | expired_at | valid_from | valid_to | current |
213
213
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | 2009-11-28 10:00:00 +0000 | 2009-11-28 12:00:00 +0000 | |
214
214
  | Single Standard | 94 | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | 2009-11-28 12:00:00 +0000 | 2009-11-28 14:00:00 +0000 | |
@@ -222,8 +222,8 @@ if DbHelpers.pg?
222
222
  master.update_attributes name: "Single Standard", price: 98
223
223
  master.update_attributes name: "Single Standard", price: 94, valid_from: Time.now+2*hour
224
224
  Timecop.freeze Time.now+hour
225
- master.current_version.destroy.should be_true
226
- master.should have_versions %Q{
225
+ expect(master.current_version.destroy).to be_truthy
226
+ expect(master).to have_versions %Q{
227
227
  | name | price | created_at | expired_at | valid_from | valid_to | current |
228
228
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 10:00:00 +0000 | 2009-11-28 10:00:00 +0000 | MAX TIME | |
229
229
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | 2009-11-28 10:00:00 +0000 | 2009-11-28 12:00:00 +0000 | |
@@ -236,8 +236,8 @@ if DbHelpers.pg?
236
236
  master.update_attributes name: "Single Standard", price: 98
237
237
  master.update_attributes name: "Single Standard", price: 94, valid_from: Time.now+2*hour
238
238
  Timecop.freeze Time.now+hour
239
- master.versions.last.destroy.should be_true
240
- master.should have_versions %Q{
239
+ expect(master.versions.last.destroy).to be_truthy
240
+ expect(master).to have_versions %Q{
241
241
  | name | price | created_at | expired_at | valid_from | valid_to | current |
242
242
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 10:00:00 +0000 | 2009-11-28 10:00:00 +0000 | MAX TIME | |
243
243
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | 2009-11-28 10:00:00 +0000 | 2009-11-28 12:00:00 +0000 | |
@@ -250,8 +250,8 @@ if DbHelpers.pg?
250
250
  master.update_attributes name: "Single Standard", price: 98
251
251
  master.update_attributes name: "Single Standard", price: 94, valid_from: Time.now+2*hour
252
252
  Timecop.freeze Time.now+hour
253
- master.destroy.should be_true
254
- master.should have_versions %Q{
253
+ expect(master.destroy).to be_truthy
254
+ expect(master).to have_versions %Q{
255
255
  | name | price | created_at | expired_at | valid_from | valid_to | current |
256
256
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 10:00:00 +0000 | 2009-11-28 10:00:00 +0000 | MAX TIME | |
257
257
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | 2009-11-28 10:00:00 +0000 | 2009-11-28 12:00:00 +0000 | |
@@ -265,7 +265,7 @@ if DbHelpers.pg?
265
265
  master2 = @master_class.find id: master.id
266
266
  master.update_attributes name: "Single Standard", price: 94
267
267
  master2.update_attributes name: "Single Standard", price: 95
268
- master.should have_versions %Q{
268
+ expect(master).to have_versions %Q{
269
269
  | name | price | created_at | expired_at | valid_from | valid_to | current |
270
270
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | 2009-11-28 10:00:00 +0000 | MAX TIME | |
271
271
  | Single Standard | 98 | 2009-11-28 11:00:00 +0000 | | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | |
@@ -280,7 +280,7 @@ if DbHelpers.pg?
280
280
  master2 = @master_class.find id: master.id
281
281
  master.update_attributes price: 94
282
282
  master2.update_attributes name: "King Size"
283
- master.should have_versions %Q{
283
+ expect(master).to have_versions %Q{
284
284
  | name | price | created_at | expired_at | valid_from | valid_to | current |
285
285
  | Single Standard | 98 | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | 2009-11-28 10:00:00 +0000 | MAX TIME | |
286
286
  | Single Standard | 98 | 2009-11-28 11:00:00 +0000 | | 2009-11-28 10:00:00 +0000 | 2009-11-28 11:00:00 +0000 | |
@@ -292,10 +292,10 @@ if DbHelpers.pg?
292
292
  master = @master_class.new
293
293
  master.update_attributes name: "Single Standard", price: 98
294
294
  master.update_attributes name: "Single Standard", price: 94, valid_from: Time.now+2*hour
295
- @master_class.eager_graph(:current_version).where("rooms_current_version.id IS NOT NULL").first.should be
295
+ expect(@master_class.eager_graph(:current_version).where("rooms_current_version.id IS NOT NULL").first).to be
296
296
  Timecop.freeze Time.now+hour
297
297
  master.destroy
298
- @master_class.eager_graph(:current_version).where("rooms_current_version.id IS NOT NULL").first.should be_nil
298
+ expect(@master_class.eager_graph(:current_version).where("rooms_current_version.id IS NOT NULL").first).to be_nil
299
299
  end
300
300
  it "allows loading masters with a current version" do
301
301
  master_destroyed = @master_class.new
@@ -305,52 +305,52 @@ if DbHelpers.pg?
305
305
  master_with_current.update_attributes name: "Single Standard", price: 94
306
306
  master_with_future = @master_class.new
307
307
  master_with_future.update_attributes name: "Single Standard", price: 94, valid_from: Time.now+2*hour
308
- @master_class.with_current_version.all.should have(1).item
308
+ expect(@master_class.with_current_version.all.size).to eq(1)
309
309
  end
310
310
  it "gets pending or current version attributes" do
311
311
  master = @master_class.new
312
- master.attributes.should == {}
313
- master.pending_version.should be_nil
314
- master.current_version.should be_nil
315
- master.pending_or_current_version.name.should be_nil
316
- master.name.should be_nil
312
+ expect(master.attributes).to eq({})
313
+ expect(master.pending_version).to be_nil
314
+ expect(master.current_version).to be_nil
315
+ expect(master.pending_or_current_version.name).to be_nil
316
+ expect(master.name).to be_nil
317
317
 
318
318
  master.update_attributes name: "Single Standard", price: 98
319
- master.attributes[:name].should == "Single Standard"
320
- master.pending_version.should be_nil
321
- master.pending_or_current_version.name.should == "Single Standard"
322
- master.name.should == "Single Standard"
319
+ expect(master.attributes[:name]).to eq("Single Standard")
320
+ expect(master.pending_version).to be_nil
321
+ expect(master.pending_or_current_version.name).to eq("Single Standard")
322
+ expect(master.name).to eq("Single Standard")
323
323
 
324
324
  master.attributes = {name: "King Size"}
325
- master.attributes[:name].should == "King Size"
326
- master.pending_version.should be
327
- master.pending_or_current_version.name.should == "King Size"
328
- master.name.should == "King Size"
325
+ expect(master.attributes[:name]).to eq("King Size")
326
+ expect(master.pending_version).to be
327
+ expect(master.pending_or_current_version.name).to eq("King Size")
328
+ expect(master.name).to eq("King Size")
329
329
  end
330
330
  it "allows to go back in time" do
331
331
  master = @master_class.new
332
332
  master.update_attributes name: "Single Standard", price: 98
333
333
  Timecop.freeze Time.now+1*hour
334
334
  master.update_attributes price: 94
335
- master.current_version.price.should == 94
335
+ expect(master.current_version.price).to eq(94)
336
336
  Sequel::Plugins::Bitemporal.as_we_knew_it(Time.now-1*hour) do
337
- master.current_version(true).price.should == 98
337
+ expect(master.current_version(true).price).to eq(98)
338
338
  end
339
339
  end
340
340
  it "correctly reset time if failure when going back in time" do
341
341
  before = Sequel::Plugins::Bitemporal.now
342
- lambda do
342
+ expect do
343
343
  Sequel::Plugins::Bitemporal.at(Time.now+1*hour) do
344
344
  raise StandardError, "error during back in time"
345
345
  end
346
- end.should raise_error StandardError
347
- Sequel::Plugins::Bitemporal.now.should == before
348
- lambda do
346
+ end.to raise_error StandardError
347
+ expect(Sequel::Plugins::Bitemporal.now).to eq(before)
348
+ expect do
349
349
  Sequel::Plugins::Bitemporal.as_we_knew_it(Time.now-1*hour) do
350
350
  raise StandardError, "error during back in time"
351
351
  end
352
- end.should raise_error StandardError
353
- Sequel::Plugins::Bitemporal.now.should == before
352
+ end.to raise_error StandardError
353
+ expect(Sequel::Plugins::Bitemporal.now).to eq(before)
354
354
  end
355
355
  it "allows eager loading with conditions on current or future versions" do
356
356
  master = @master_class.new
@@ -359,16 +359,16 @@ if DbHelpers.pg?
359
359
  master.update_attributes name: "Single Standard", price: 99
360
360
  master.update_attributes name: "Single Standard", price: 94, valid_from: Time.now+2*hour
361
361
  res = @master_class.eager_graph(:current_or_future_versions).where(Sequel.negate(current_or_future_versions__id: nil) & {price: 99}).all.first
362
- res.should be
363
- res.current_or_future_versions.should have(1).item
364
- res.current_or_future_versions.first.price.should == 99
362
+ expect(res).to be
363
+ expect(res.current_or_future_versions.size).to eq(1)
364
+ expect(res.current_or_future_versions.first.price).to eq(99)
365
365
  res = @master_class.eager_graph(:current_or_future_versions).where(Sequel.negate(current_or_future_versions__id: nil) & {price: 94}).all.first
366
- res.should be
367
- res.current_or_future_versions.should have(1).item
368
- res.current_or_future_versions.first.price.should == 94
366
+ expect(res).to be
367
+ expect(res.current_or_future_versions.size).to eq(1)
368
+ expect(res.current_or_future_versions.first.price).to eq(94)
369
369
  Timecop.freeze Time.now+1*hour
370
370
  master.destroy
371
- @master_class.eager_graph(:current_or_future_versions).where(Sequel.negate(current_or_future_versions__id: nil)).all.should be_empty
371
+ expect(@master_class.eager_graph(:current_or_future_versions).where(Sequel.negate(current_or_future_versions__id: nil)).all).to be_empty
372
372
  end
373
373
  it "allows loading masters with current or future versions" do
374
374
  master_destroyed = @master_class.new
@@ -378,7 +378,7 @@ if DbHelpers.pg?
378
378
  master_with_current.update_attributes name: "Single Standard", price: 94
379
379
  master_with_future = @master_class.new
380
380
  master_with_future.update_attributes name: "Single Standard", price: 94, valid_from: Time.now+2*hour
381
- @master_class.with_current_or_future_versions.all.should have(2).item
381
+ expect(@master_class.with_current_or_future_versions.all.size).to eq(2)
382
382
  end
383
383
  end
384
384
  describe "Sequel::Plugins::Bitemporal", "with audit" do
@@ -395,8 +395,8 @@ if DbHelpers.pg?
395
395
  let(:author){ double :author, audit_kind: "user" }
396
396
  it "generates a new audit on creation" do
397
397
  master = @master_class.new
398
- master.should_receive(:updated_by).and_return author
399
- @audit_class.should_receive(:audit).with(
398
+ expect(master).to receive(:updated_by).and_return author
399
+ expect(@audit_class).to receive(:audit).with(
400
400
  master,
401
401
  {},
402
402
  hash_including({name: "Single Standard", price: 98}),
@@ -407,10 +407,10 @@ if DbHelpers.pg?
407
407
  end
408
408
  it "generates a new audit on full update" do
409
409
  master = @master_class.new
410
- master.should_receive(:updated_by).twice.and_return author
411
- @audit_class.stub(:audit)
410
+ expect(master).to receive(:updated_by).twice.and_return author
411
+ allow(@audit_class).to receive(:audit)
412
412
  master.update_attributes name: "Single Standard", price: 98
413
- @audit_class.should_receive(:audit).with(
413
+ expect(@audit_class).to receive(:audit).with(
414
414
  master,
415
415
  hash_including({name: "Single Standard", price: 98}),
416
416
  hash_including({name: "King size", price: 98}),
@@ -421,10 +421,10 @@ if DbHelpers.pg?
421
421
  end
422
422
  it "generates a new audit on partial update" do
423
423
  master = @master_class.new
424
- master.should_receive(:updated_by).twice.and_return author
425
- @audit_class.stub(:audit)
424
+ expect(master).to receive(:updated_by).twice.and_return author
425
+ allow(@audit_class).to receive(:audit)
426
426
  master.update_attributes name: "Single Standard", price: 98
427
- @audit_class.should_receive(:audit).with(
427
+ expect(@audit_class).to receive(:audit).with(
428
428
  master,
429
429
  hash_including({name: "Single Standard", price: 98}),
430
430
  hash_including({name: "King size", price: 98}),
@@ -454,8 +454,8 @@ if DbHelpers.pg?
454
454
  let(:author){ double :author, audit_kind: "user" }
455
455
  it "generates a new audit on creation" do
456
456
  master = @master_class.new
457
- master.should_receive(:author).and_return author
458
- @audit_class.should_receive(:audit).with(
457
+ expect(master).to receive(:author).and_return author
458
+ expect(@audit_class).to receive(:audit).with(
459
459
  master,
460
460
  {},
461
461
  hash_including({name: "Single Standard", price: 98}),
@@ -466,10 +466,10 @@ if DbHelpers.pg?
466
466
  end
467
467
  it "generates a new audit on full update" do
468
468
  master = @master_class.new
469
- master.should_receive(:author).twice.and_return author
470
- @audit_class.stub(:audit)
469
+ expect(master).to receive(:author).twice.and_return author
470
+ allow(@audit_class).to receive(:audit)
471
471
  master.update_attributes name: "Single Standard", price: 98
472
- @audit_class.should_receive(:audit).with(
472
+ expect(@audit_class).to receive(:audit).with(
473
473
  master,
474
474
  hash_including({name: "Single Standard", price: 98}),
475
475
  hash_including({name: "King size", price: 98}),
@@ -480,10 +480,10 @@ if DbHelpers.pg?
480
480
  end
481
481
  it "generates a new audit on partial update" do
482
482
  master = @master_class.new
483
- master.should_receive(:author).twice.and_return author
484
- @audit_class.stub(:audit)
483
+ expect(master).to receive(:author).twice.and_return author
484
+ allow(@audit_class).to receive(:audit)
485
485
  master.update_attributes name: "Single Standard", price: 98
486
- @audit_class.should_receive(:audit).with(
486
+ expect(@audit_class).to receive(:audit).with(
487
487
  master,
488
488
  hash_including({name: "Single Standard", price: 98}),
489
489
  hash_including({name: "King size", price: 98}),
data/spec/spec_helper.rb CHANGED
@@ -34,7 +34,6 @@ end
34
34
 
35
35
  RSpec.configure do |config|
36
36
  config.include DbHelpers
37
- config.treat_symbols_as_metadata_keys_with_true_values = true
38
37
  config.filter_run_excluding rspec_exclusions
39
38
  config.before :each do
40
39
  db_truncate
@@ -1,13 +1,13 @@
1
1
  RSpec::Matchers.define :have_versions do |versions_str|
2
- @table = have_versions_parse_table versions_str
3
- @last_index = nil
4
- @last_version = nil
2
+ table = have_versions_parse_table versions_str
3
+ last_index = nil
4
+ last_version = nil
5
5
  match do |master|
6
6
  versions = master.versions_dataset.order(:id).all
7
- columns = @table.first.keys.collect &:to_sym
8
- versions.size == @table.size && @table.each.with_index.all? do |version, index|
9
- @last_index = index
10
- @last_version = version
7
+ columns = table.first.keys.collect(&:to_sym)
8
+ versions.size == table.size && table.each.with_index.all? do |version, index|
9
+ last_index = index
10
+ last_version = version
11
11
  master_version = versions[index]
12
12
  columns.all? do |column|
13
13
  if column==:current
@@ -29,12 +29,12 @@ RSpec::Matchers.define :have_versions do |versions_str|
29
29
  end
30
30
  end
31
31
  end
32
- failure_message_for_should do |master|
32
+ failure_message do |master|
33
33
  versions = master.versions_dataset.order(:id).all
34
- if versions.size != @table.size
35
- "Expected #{master.class} to have #{@table.size} versions but found #{versions.size}"
34
+ if versions.size != table.size
35
+ "Expected #{master.class} to have #{table.size} versions but found #{versions.size}"
36
36
  else
37
- "Expected row #{@last_index+1} to match #{@last_version.inspect} but found #{versions[@last_index].inspect}"
37
+ "Expected row #{last_index+1} to match #{last_version.inspect} but found #{versions[last_index].inspect}"
38
38
  end
39
39
  end
40
40
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel_bitemporal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joseph HALTER
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-08-07 00:00:00.000000000 Z
12
+ date: 2015-02-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sequel
@@ -17,7 +17,7 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: '3.30'
20
+ version: '3.41'
21
21
  - - "<"
22
22
  - !ruby/object:Gem::Version
23
23
  version: '5.0'
@@ -27,7 +27,7 @@ dependencies:
27
27
  requirements:
28
28
  - - ">="
29
29
  - !ruby/object:Gem::Version
30
- version: '3.30'
30
+ version: '3.41'
31
31
  - - "<"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '5.0'
@@ -37,14 +37,14 @@ dependencies:
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 2.10.0
40
+ version: 3.2.0
41
41
  type: :development
42
42
  prerelease: false
43
43
  version_requirements: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 2.10.0
47
+ version: 3.2.0
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: timecop
50
50
  requirement: !ruby/object:Gem::Requirement
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  version: '0'
121
121
  requirements: []
122
122
  rubyforge_project:
123
- rubygems_version: 2.2.2
123
+ rubygems_version: 2.4.5
124
124
  signing_key:
125
125
  specification_version: 4
126
126
  summary: Bitemporal versioning for sequel.
@@ -133,3 +133,4 @@ test_files:
133
133
  - spec/spec_helper.rb
134
134
  - spec/support/bitemporal_matchers.rb
135
135
  - spec/support/db.rb
136
+ has_rdoc: