sequel_bitemporal 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.