Class: Nanoc::CLI::Commands::Compile::GCController
- Inherits:
-
Listener
- Object
- Listener
- Nanoc::CLI::Commands::Compile::GCController
- Defined in:
- lib/nanoc/cli/commands/compile.rb
Overview
Controls garbage collection so that it only occurs once every 20 items
Class Method Summary (collapse)
Instance Method Summary (collapse)
-
- (GCController) initialize(params = {})
constructor
A new instance of GCController.
-
- (Object) start
-
- (Object) stop
Constructor Details
- (GCController) initialize(params = {})
Returns a new instance of GCController
267 268 269 |
# File 'lib/nanoc/cli/commands/compile.rb', line 267 def initialize(params = {}) @gc_count = 0 end |
Class Method Details
+ (Boolean) enable_for?(command_runner)
263 264 265 |
# File 'lib/nanoc/cli/commands/compile.rb', line 263 def self.enable_for?(command_runner) !ENV.key?('TRAVIS') end |
Instance Method Details
- (Object) start
272 273 274 275 276 277 278 279 280 281 |
# File 'lib/nanoc/cli/commands/compile.rb', line 272 def start Nanoc::NotificationCenter.on(:compilation_started) do |rep| if @gc_count % 20 == 0 GC.enable GC.start GC.disable end @gc_count += 1 end end |
- (Object) stop
284 285 286 287 |
# File 'lib/nanoc/cli/commands/compile.rb', line 284 def stop super GC.enable end |