Class: Fiona7::WidgetGc::SweepStrategies::ArchiveSweep
- Inherits:
-
Object
- Object
- Fiona7::WidgetGc::SweepStrategies::ArchiveSweep
- Defined in:
- lib/fiona7/widget_gc/sweep_strategies/archive_sweep.rb
Overview
This garbage collection strategy deletes BOTH working and released versions of garbage widget objects This effecively nukes the widget object. NOTE: It normally requires permissionRoot on all garbage widget objects. But since it is meant to be used during release process, which only requires permissionWrite permission elevation is used
This strategy should be only used shortly before releasing the page
Instance Method Summary collapse
-
#initialize(object, widget_resolver) ⇒ ArchiveSweep
constructor
A new instance of ArchiveSweep.
- #sweep!(garbage) ⇒ Object
Constructor Details
#initialize(object, widget_resolver) ⇒ ArchiveSweep
Returns a new instance of ArchiveSweep.
15 16 17 18 |
# File 'lib/fiona7/widget_gc/sweep_strategies/archive_sweep.rb', line 15 def initialize(object, ) self.object = object self. = end |
Instance Method Details
#sweep!(garbage) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/fiona7/widget_gc/sweep_strategies/archive_sweep.rb', line 20 def sweep!(garbage) # NOTE: this emulates permission elevation: # permissionWrite -> permissionRoot return unless self.object..write? garbage.each do || # TODO: improve performance here = self..all.find {|w| w.id == } archive!() end end |