Skip to content

Commit

Permalink
Cleanup and additional checks
Browse files Browse the repository at this point in the history
  • Loading branch information
charlie-wasp committed Mar 14, 2017
1 parent 6d93268 commit f9f117b
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 23 deletions.
12 changes: 6 additions & 6 deletions lib/logidze/model.rb
Expand Up @@ -138,9 +138,11 @@ def switch_to!(version, append: Logidze.append_on_undo)
def association(name)
association = super

unless logidze_past? && association.klass.respond_to?(:has_logidze?)
return association
end
should_appply_logidze = logidze_past? &&
association.klass.respond_to?(:has_logidze?) &&
!association.singleton_class.include?(Logidze::VersionedAssociation)

return association unless should_appply_logidze

association.singleton_class.prepend Logidze::VersionedAssociation

Expand All @@ -164,9 +166,7 @@ def apply_diff(version, diff)
def logidze_past?
return false unless @logidze_requested_ts

time = @logidze_requested_ts

time < Time.now.to_i * TIME_FACTOR
@logidze_requested_ts < Time.now.to_i * TIME_FACTOR
end

def parse_time(ts)
Expand Down
8 changes: 5 additions & 3 deletions lib/logidze/versioned_association.rb
Expand Up @@ -32,17 +32,19 @@ def logidze_stale?

return false if target.empty?

owner.logidze_requested_ts != target.first.logidze_requested_ts
target.any? do |object|
owner.logidze_requested_ts != object.logidze_requested_ts
end
end

module CollectionAssociation
def ids_reader
reload
reload unless loaded?
super
end

def empty?
reload
reload unless loaded?
super
end
end
Expand Down
14 changes: 0 additions & 14 deletions spec/dummy/app/models/article.rb
@@ -1,20 +1,6 @@
class Article < ActiveRecord::Base
# attr_accessor :errored

# validate :is_errored

has_logidze

belongs_to :user
has_many :comments

# def reload
# self.errored = nil
# super
# end

# def is_errored
# return unless errored
# errors.add(:base, 'Errored')
# end
end

0 comments on commit f9f117b

Please sign in to comment.