Module: Logidze::VersionedAssociation
- Defined in:
- lib/logidze/versioned_association.rb
Defined Under Namespace
Modules: CollectionAssociation
Instance Method Summary collapse
-
#load_target ⇒ Object
rubocop: disable Metrics/MethodLength, Metrics/AbcSize.
- #logidze_stale? ⇒ Boolean
- #stale_target? ⇒ Boolean
Instance Method Details
#load_target ⇒ Object
rubocop: disable Metrics/MethodLength, Metrics/AbcSize
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/logidze/versioned_association.rb', line 16 def load_target target = super return target if inversed time = owner.logidze_requested_ts if target.is_a? Array target.map! do |object| object.at(time: time) end.compact! else target.at!(time: time) end target end |
#logidze_stale? ⇒ Boolean
38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/logidze/versioned_association.rb', line 38 def logidze_stale? return false if !loaded? || inversed return owner.logidze_requested_ts != target.logidze_requested_ts unless target.is_a?(Array) return false if target.empty? target.any? do |object| owner.logidze_requested_ts != object.logidze_requested_ts end end |
#stale_target? ⇒ Boolean
34 35 36 |
# File 'lib/logidze/versioned_association.rb', line 34 def stale_target? logidze_stale? || super end |