class Rspeckled::Ruby::DeferredGarbageCollection
Constants
- THRESHOLD
Attributes
garbage_last_collected_at[W]
Public Class Methods
cycle_garbage_collector()
click to toggle source
# File lib/rspeckled/plugins/extensions/ruby/deferred_garbage_collection.rb, line 27 def self.cycle_garbage_collector ::GC.enable ::GC.start ::GC.disable end
enabled?()
click to toggle source
# File lib/rspeckled/plugins/extensions/ruby/deferred_garbage_collection.rb, line 37 def self.enabled? THRESHOLD > 0 end
garbage_last_collected_at()
click to toggle source
# File lib/rspeckled/plugins/extensions/ruby/deferred_garbage_collection.rb, line 45 def self.garbage_last_collected_at @garbage_last_collected_at || ::Time.now end
over_deferrment_threshold?()
click to toggle source
# File lib/rspeckled/plugins/extensions/ruby/deferred_garbage_collection.rb, line 33 def self.over_deferrment_threshold? time_since_garbage_last_collected >= THRESHOLD end
reconsider()
click to toggle source
# File lib/rspeckled/plugins/extensions/ruby/deferred_garbage_collection.rb, line 19 def self.reconsider return unless enabled? && over_deferrment_threshold? cycle_garbage_collector self.garbage_last_collected_at = ::Time.now end
start()
click to toggle source
# File lib/rspeckled/plugins/extensions/ruby/deferred_garbage_collection.rb, line 15 def self.start cycle_garbage_collector if enabled? end
time_since_garbage_last_collected()
click to toggle source
# File lib/rspeckled/plugins/extensions/ruby/deferred_garbage_collection.rb, line 41 def self.time_since_garbage_last_collected ::Time.now - garbage_last_collected_at end