class Eternity::CollectionTracker
Constants
- Changes
Attributes
changes[R]
Public Class Methods
new(options)
click to toggle source
# File lib/eternity/collection_tracker.rb, line 9 def initialize(options) @changes = Changes.new options end
Public Instance Methods
delete(id)
click to toggle source
# File lib/eternity/collection_tracker.rb, line 21 def delete(id) changes[id].delete end
flatten()
click to toggle source
# File lib/eternity/collection_tracker.rb, line 35 def flatten changes.each_with_object({}) do |(id, tracker), hash| change = tracker.flatten hash[id] = change if change end end
insert(id, data)
click to toggle source
# File lib/eternity/collection_tracker.rb, line 13 def insert(id, data) changes[id].insert data end
revert(id)
click to toggle source
# File lib/eternity/collection_tracker.rb, line 25 def revert(id) changes[id].revert end
revert_all()
click to toggle source
# File lib/eternity/collection_tracker.rb, line 29 def revert_all locker.lock! :revert_all do changes.destroy end end
update(id, data)
click to toggle source
# File lib/eternity/collection_tracker.rb, line 17 def update(id, data) changes[id].update data end
Private Instance Methods
locker()
click to toggle source
# File lib/eternity/collection_tracker.rb, line 46 def locker Eternity.locker_for repository_name end
repository_name()
click to toggle source
# File lib/eternity/collection_tracker.rb, line 50 def repository_name changes.id.sections.reverse[2] end