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 -