lib/sequel/plugins/bitemporal.rb in sequel_bitemporal-0.7.4 vs lib/sequel/plugins/bitemporal.rb in sequel_bitemporal-0.7.6
- old
+ new
@@ -68,10 +68,22 @@
true
else
false
end
end
+ master.class_eval do
+ def self.current_versions_dataset
+ t = ::Sequel::Plugins::Bitemporal.point_in_time
+ n = ::Sequel::Plugins::Bitemporal.now
+ version_class.where do
+ (created_at <= t) &
+ (Sequel.|({expired_at=>nil}, expired_at > t)) &
+ (valid_from <= n) &
+ (valid_to > n)
+ end
+ end
+ end
master.one_to_many :versions, class: version, key: :master_id, graph_alias_base: master.versions_alias
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|
t = ::Sequel::Plugins::Bitemporal.point_in_time
n = ::Sequel::Plugins::Bitemporal.now
if master.use_ranges
@@ -576,6 +588,5 @@
end
end
end
end
-