Class: 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
-
#initialize ⇒ GCController
constructor
A new instance of GCController.
-
#start ⇒ Object
-
#stop ⇒ Object
Constructor Details
#initialize ⇒ GCController
Returns a new instance of GCController
267 268 269 |
# File 'lib/nanoc/cli/commands/compile.rb', line 267 def initialize(*) @gc_count = 0 end |
Class Method Details
.enable_for?(_command_runner) ⇒ Boolean
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
#start ⇒ Object
272 273 274 275 276 277 278 279 280 281 |
# File 'lib/nanoc/cli/commands/compile.rb', line 272 def start Nanoc::Int::NotificationCenter.on(:compilation_started) do |_rep| if (@gc_count % 20).zero? GC.enable GC.start GC.disable end @gc_count += 1 end end |
#stop ⇒ Object
284 285 286 287 |
# File 'lib/nanoc/cli/commands/compile.rb', line 284 def stop super GC.enable end |