sequel_bitemporal 0.1.11 → 0.2.0

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.
@@ -76,6 +76,15 @@ module Sequel
76
76
  master.instance_eval do
77
77
  @version_class = version
78
78
  end
79
+ unless opts[:delegate]==false
80
+ (version.columns-required-[:id]).each do |column|
81
+ master.class_eval <<-EOS
82
+ def #{column}
83
+ pending_or_current_version.#{column} if pending_or_current_version
84
+ end
85
+ EOS
86
+ end
87
+ end
79
88
  end
80
89
  module ClassMethods
81
90
  attr_reader :version_class
@@ -213,4 +222,4 @@ module Sequel
213
222
  end
214
223
  end
215
224
  end
216
- end
225
+ end
@@ -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.11"
6
+ s.version = "0.2.0"
7
7
  s.authors = ["Joseph HALTER", "Jonathan TRON"]
8
8
  s.email = ["joseph.halter@thetalentbox.com", "jonathan.tron@thetalentbox.com"]
9
9
  s.homepage = "https://github.com/TalentBox/sequel_bitemporal"
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.add_runtime_dependency "sequel"
19
19
 
20
20
  s.add_development_dependency "sqlite3"
21
- s.add_development_dependency "rspec"
21
+ s.add_development_dependency "rspec", "~> 2.8.0.rc1"
22
22
  s.add_development_dependency "timecop"
23
23
  s.add_development_dependency "rake"
24
- end
24
+ end
@@ -395,4 +395,21 @@ describe "Sequel::Plugins::Bitemporal" do
395
395
  master_with_future.update_attributes name: "Single Standard", price: 94, valid_from: Date.today+2
396
396
  @master_class.with_current_or_future_versions.all.should have(2).item
397
397
  end
398
- end
398
+ it "delegates attributes from master to pending_or_current_version" do
399
+ master = @master_class.new
400
+ master.name.should be_nil
401
+ master.update_attributes name: "Single Standard", price: 98
402
+ master.name.should == "Single Standard"
403
+ master.attributes = {name: "King Size", partial_update: true}
404
+ master.name.should == "King Size"
405
+ end
406
+ it "avoids delegation with option delegate: false" do
407
+ closure = @version_class
408
+ without_delegation_class = Class.new Sequel::Model do
409
+ set_dataset :rooms
410
+ plugin :bitemporal, version_class: closure, delegate: false
411
+ end
412
+ master = without_delegation_class.new
413
+ expect{ master.name }.to raise_error NoMethodError
414
+ end
415
+ 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.1.11
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-11-17 00:00:00.000000000 Z
13
+ date: 2011-11-24 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sequel
17
- requirement: &2165638640 !ruby/object:Gem::Requirement
17
+ requirement: &2153258540 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2165638640
25
+ version_requirements: *2153258540
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: sqlite3
28
- requirement: &2165638200 !ruby/object:Gem::Requirement
28
+ requirement: &2153252000 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,21 +33,21 @@ dependencies:
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *2165638200
36
+ version_requirements: *2153252000
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rspec
39
- requirement: &2165637780 !ruby/object:Gem::Requirement
39
+ requirement: &2153251140 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
- - - ! '>='
42
+ - - ~>
43
43
  - !ruby/object:Gem::Version
44
- version: '0'
44
+ version: 2.8.0.rc1
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *2165637780
47
+ version_requirements: *2153251140
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: timecop
50
- requirement: &2165637360 !ruby/object:Gem::Requirement
50
+ requirement: &2153250720 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *2165637360
58
+ version_requirements: *2153250720
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: rake
61
- requirement: &2165636940 !ruby/object:Gem::Requirement
61
+ requirement: &2153250180 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,7 +66,7 @@ dependencies:
66
66
  version: '0'
67
67
  type: :development
68
68
  prerelease: false
69
- version_requirements: *2165636940
69
+ version_requirements: *2153250180
70
70
  description: Bitemporal versioning for sequel, fully tested.
71
71
  email:
72
72
  - joseph.halter@thetalentbox.com