sequel_bitemporal 0.4.0 → 0.4.1

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.
@@ -33,10 +33,12 @@ module Sequel
33
33
  raise Error, "bitemporal plugin requires the following missing column#{"s" if missing.size>1} on version class: #{missing.join(", ")}" unless missing.empty?
34
34
  master.instance_eval do
35
35
  @version_class = version
36
- @current_version_alias_name = "#{name ? underscore(demodulize(name)) : table_name}_current_version".to_sym
36
+ base_alias = name ? underscore(demodulize(name)) : table_name
37
+ @versions_alias = "#{base_alias}_versions".to_sym
38
+ @current_version_alias = "#{base_alias}_current_version".to_sym
37
39
  end
38
- master.one_to_many :versions, class: version, key: :master_id
39
- master.one_to_one :current_version, class: version, key: :master_id, graph_alias_base: master.current_version_alias_name, :graph_block=>(proc do |j, lj, js|
40
+ master.one_to_many :versions, class: version, key: :master_id, graph_alias_base: master.versions_alias
41
+ master.one_to_one :current_version, class: version, key: :master_id, graph_alias_base: master.current_version_alias, :graph_block=>(proc do |j, lj, js|
40
42
  t = ::Sequel::Plugins::Bitemporal.point_in_time
41
43
  n = ::Sequel::Plugins::Bitemporal.now
42
44
  e = :expired_at.qualify(j)
@@ -47,7 +49,7 @@ module Sequel
47
49
  ds.where{(created_at <= t) & ({expired_at=>nil} | (expired_at > t)) & (valid_from <= n) & (valid_to > n)}
48
50
  end
49
51
  master.def_dataset_method :with_current_version do
50
- eager_graph(:current_version).where({:id.qualify(model.current_version_alias_name) => nil}.sql_negate)
52
+ eager_graph(:current_version).where({:id.qualify(model.current_version_alias) => nil}.sql_negate)
51
53
  end
52
54
  master.one_to_many :current_or_future_versions, class: version, key: :master_id, :graph_block=>(proc do |j, lj, js|
53
55
  t = ::Sequel::Plugins::Bitemporal.point_in_time
@@ -88,7 +90,7 @@ module Sequel
88
90
  end
89
91
  end
90
92
  module ClassMethods
91
- attr_reader :version_class, :current_version_alias_name
93
+ attr_reader :version_class, :versions_alias, :current_version_alias
92
94
  end
93
95
  module DatasetMethods
94
96
  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.4.0"
6
+ s.version = "0.4.1"
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"
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.4.0
4
+ version: 0.4.1
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-12-03 00:00:00.000000000 Z
13
+ date: 2011-12-03 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sequel
17
- requirement: &70323408143320 !ruby/object:Gem::Requirement
17
+ requirement: &2154472240 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 3.30.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70323408143320
25
+ version_requirements: *2154472240
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: sqlite3
28
- requirement: &70323408141540 !ruby/object:Gem::Requirement
28
+ requirement: &2155920020 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
- version_requirements: *70323408141540
36
+ version_requirements: *2155920020
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rspec
39
- requirement: &70323408139620 !ruby/object:Gem::Requirement
39
+ requirement: &2155919480 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 2.8.0.rc1
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *70323408139620
47
+ version_requirements: *2155919480
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: timecop
50
- requirement: &70323408138300 !ruby/object:Gem::Requirement
50
+ requirement: &2155919060 !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: *70323408138300
58
+ version_requirements: *2155919060
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: rake
61
- requirement: &70323408148700 !ruby/object:Gem::Requirement
61
+ requirement: &2155918600 !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: *70323408148700
69
+ version_requirements: *2155918600
70
70
  description: Bitemporal versioning for sequel, fully tested.
71
71
  email:
72
72
  - joseph.halter@thetalentbox.com
@@ -99,21 +99,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
99
99
  - - ! '>='
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0'
102
- segments:
103
- - 0
104
- hash: -2408522317545363465
105
102
  required_rubygems_version: !ruby/object:Gem::Requirement
106
103
  none: false
107
104
  requirements:
108
105
  - - ! '>='
109
106
  - !ruby/object:Gem::Version
110
107
  version: '0'
111
- segments:
112
- - 0
113
- hash: -2408522317545363465
114
108
  requirements: []
115
109
  rubyforge_project:
116
- rubygems_version: 1.8.10
110
+ rubygems_version: 1.8.6
117
111
  signing_key:
118
112
  specification_version: 3
119
113
  summary: Bitemporal versioning for sequel.