Class: Tessa::AssetChangeSet
- Inherits:
-
Object
- Object
- Tessa::AssetChangeSet
- Defined in:
- lib/tessa/asset_change_set.rb
Instance Method Summary collapse
- #+(b) ⇒ Object
- #add(value) ⇒ Object
- #apply ⇒ Object
- #remove(value) ⇒ Object
- #scoped_changes ⇒ Object
- #scoped_ids=(new_ids) ⇒ Object
Instance Method Details
#+(b) ⇒ Object
20 21 22 23 24 |
# File 'lib/tessa/asset_change_set.rb', line 20 def +(b) self.changes = (self.changes + b.changes).uniq self.scoped_ids = (self.scoped_ids + b.scoped_ids).uniq self end |
#add(value) ⇒ Object
26 27 28 29 30 |
# File 'lib/tessa/asset_change_set.rb', line 26 def add(value) id = id_from_asset(value) changes << AssetChange.new(id: id, action: "add") scoped_ids << id end |
#apply ⇒ Object
16 17 18 |
# File 'lib/tessa/asset_change_set.rb', line 16 def apply scoped_changes.uniq.each(&:apply) end |
#remove(value) ⇒ Object
32 33 34 35 36 |
# File 'lib/tessa/asset_change_set.rb', line 32 def remove(value) id = id_from_asset(value) changes << AssetChange.new(id: id, action: "remove") scoped_ids << id end |
#scoped_changes ⇒ Object
12 13 14 |
# File 'lib/tessa/asset_change_set.rb', line 12 def scoped_changes changes.select { |change| scoped_ids.include?(change.id) } end |
#scoped_ids=(new_ids) ⇒ Object
8 9 10 |
# File 'lib/tessa/asset_change_set.rb', line 8 def scoped_ids=(new_ids) super new_ids.compact end |