sequel_bitemporal 0.1.2 → 0.1.3
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/sequel/plugins/bitemporal.rb +2 -1
- data/sequel_bitemporal.gemspec +1 -1
- data/spec/bitemporal_spec.rb +4 -4
- metadata +9 -9
@@ -56,6 +56,7 @@ module Sequel
|
|
56
56
|
if !new? && attributes.delete(:partial_update) && current_version
|
57
57
|
current_attributes = current_version.values.dup
|
58
58
|
current_attributes.delete :id
|
59
|
+
current_attributes.delete :valid_from
|
59
60
|
attributes = current_attributes.merge attributes
|
60
61
|
end
|
61
62
|
self.attributes = attributes
|
@@ -109,7 +110,7 @@ module Sequel
|
|
109
110
|
def prepare_pending_version
|
110
111
|
point_in_time = Time.now
|
111
112
|
pending_version.created_at = point_in_time
|
112
|
-
pending_version.valid_from
|
113
|
+
pending_version.valid_from ||= point_in_time
|
113
114
|
end
|
114
115
|
|
115
116
|
def save_pending_version
|
data/sequel_bitemporal.gemspec
CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "sequel_bitemporal"
|
6
|
-
s.version = "0.1.
|
6
|
+
s.version = "0.1.3"
|
7
7
|
s.authors = ["Joseph HALTER"]
|
8
8
|
s.email = ["joseph.halter@thetalentbox.com"]
|
9
9
|
s.homepage = "https://github.com/TalentBox/sequel_bitemporal"
|
data/spec/bitemporal_spec.rb
CHANGED
@@ -70,12 +70,12 @@ describe "Sequel::Plugins::Bitemporal" do
|
|
70
70
|
| Single Standard | 98 | 2009-11-28 | | 2009-11-28 | | true |
|
71
71
|
}
|
72
72
|
end
|
73
|
-
it "
|
73
|
+
it "allows creating a new version in the past" do
|
74
74
|
master = @master_class.new
|
75
75
|
master.update_attributes name: "Single Standard", price: 98, valid_from: Date.today-1
|
76
76
|
master.should have_versions %Q{
|
77
77
|
| name | price | created_at | expired_at | valid_from | valid_to | current |
|
78
|
-
| Single Standard | 98 | 2009-11-28 | | 2009-11-
|
78
|
+
| Single Standard | 98 | 2009-11-28 | | 2009-11-27 | | true |
|
79
79
|
}
|
80
80
|
end
|
81
81
|
it "allows creating a new version in the future" do
|
@@ -168,6 +168,8 @@ describe "Sequel::Plugins::Bitemporal" do
|
|
168
168
|
# | Single Standard | 98 | 2009-11-28 | 2009-11-29 | 2009-11-28 | 2009-11-30 | |
|
169
169
|
# | Single Standard | 98 | 2009-11-29 | | 2009-11-28 | | true |
|
170
170
|
end
|
171
|
+
xit "doesn't do anything if unchanged" do
|
172
|
+
end
|
171
173
|
it "overrides no future versions" do
|
172
174
|
master = @master_class.new
|
173
175
|
master.update_attributes name: "Single Standard", price: 98, valid_to: Date.today+2
|
@@ -217,8 +219,6 @@ describe "Sequel::Plugins::Bitemporal" do
|
|
217
219
|
| King Size | 98 | 2009-11-29 | | 2009-11-29 | | true |
|
218
220
|
}
|
219
221
|
end
|
220
|
-
xit "doesn't do anything if unchanged" do
|
221
|
-
end
|
222
222
|
it "allows deleting current version" do
|
223
223
|
master = @master_class.new
|
224
224
|
master.update_attributes name: "Single Standard", price: 98
|
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.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-11-02 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sqlite3
|
16
|
-
requirement: &
|
16
|
+
requirement: &2157973260 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2157973260
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &2157972820 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2157972820
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: timecop
|
38
|
-
requirement: &
|
38
|
+
requirement: &2158000040 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2158000040
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: sequel
|
49
|
-
requirement: &
|
49
|
+
requirement: &2157999620 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2157999620
|
58
58
|
description: Bitemporal versioning for sequel, fully tested.
|
59
59
|
email:
|
60
60
|
- joseph.halter@thetalentbox.com
|