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
263 264 265 |
# File 'lib/nanoc/cli/commands/compile.rb', line 263 def initialize(params = {}) @gc_count = 0 end |
Class Method Details
+ (Boolean) enable_for?(command_runner)
259 260 261 |
# File 'lib/nanoc/cli/commands/compile.rb', line 259 def self.enable_for?(command_runner) !ENV.key?('TRAVIS') end |
Instance Method Details
- (Object) start
268 269 270 271 272 273 274 275 276 277 |
# File 'lib/nanoc/cli/commands/compile.rb', line 268 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
280 281 282 283 |
# File 'lib/nanoc/cli/commands/compile.rb', line 280 def stop super GC.enable end |