lib/sequel/plugins/bitemporal.rb in sequel_bitemporal-0.8.1 vs lib/sequel/plugins/bitemporal.rb in sequel_bitemporal-0.8.2

- old
+ new

@@ -84,24 +84,25 @@ 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 + t = Sequel.delay{ ::Sequel::Plugins::Bitemporal.point_in_time } + n = Sequel.delay{ ::Sequel::Plugins::Bitemporal.now } if master.use_ranges - master.existence_range_contains(t, j) & master.validity_range_contains(n, j) + master.existence_range_contains(t, j) & + master.validity_range_contains(n, j) else e = Sequel.qualify j, :expired_at (Sequel.qualify(j, :created_at) <= t) & (Sequel.|({e=>nil}, e > t)) & (Sequel.qualify(j, :valid_from) <= n) & (Sequel.qualify(j, :valid_to) > n) end end) do |ds| - t = ::Sequel::Plugins::Bitemporal.point_in_time - n = ::Sequel::Plugins::Bitemporal.now + t = Sequel.delay{ ::Sequel::Plugins::Bitemporal.point_in_time } + n = Sequel.delay{ ::Sequel::Plugins::Bitemporal.now } if master.use_ranges ds.where(master.existence_range_contains(t) & master.validity_range_contains(n)) else ds.where do (created_at <= t) & @@ -117,26 +118,26 @@ Sequel.qualify(model.current_version_alias, :id) => nil ) ) end master.one_to_many :current_or_future_versions, class: version, key: :master_id, :graph_block=>(proc do |j, lj, js| - t = ::Sequel::Plugins::Bitemporal.point_in_time - n = ::Sequel::Plugins::Bitemporal.now + t = Sequel.delay{ ::Sequel::Plugins::Bitemporal.point_in_time } + n = Sequel.delay{ ::Sequel::Plugins::Bitemporal.now } if master.use_ranges master.existence_range_contains(t, j) & (Sequel.qualify(j, :valid_to) > n) else e = Sequel.qualify j, :expired_at (Sequel.qualify(j, :created_at) <= t) & Sequel.|({e=>nil}, e > t) & (Sequel.qualify(j, :valid_to) > n) end end) do |ds| - t = ::Sequel::Plugins::Bitemporal.point_in_time - n = ::Sequel::Plugins::Bitemporal.now + t = Sequel.delay{ ::Sequel::Plugins::Bitemporal.point_in_time } + n = Sequel.delay{ ::Sequel::Plugins::Bitemporal.now } if master.use_ranges - existence_conditions = master.existence_range_contains t, j + existence_conditions = master.existence_range_contains t ds.where{ existence_conditions & (:valid_to > n) } else ds.where do (created_at <= t) & Sequel.|({expired_at=>nil}, expired_at > t) & @@ -149,10 +150,10 @@ Sequel.negate(current_or_future_versions__id: nil) ) end version.many_to_one :master, class: master, key: :master_id version.class_eval do - if Sequel::Plugins::Bitemporal.pg_jdbc?(db) + if Sequel::Plugins::Bitemporal.pg_jdbc?(master.db) plugin :pg_typecast_on_load, *columns elsif Sequel::Plugins::Bitemporal.jdbc?(master.db) plugin :typecast_on_load, *columns end