class Nanoc::CLI::Commands::Compile
Attributes
listener_classes[RW]
Public Class Methods
new(options, arguments, command)
click to toggle source
Calls superclass method
# File lib/nanoc/cli/commands/compile.rb, line 363 def initialize(options, arguments, command) super @listener_classes = default_listener_classes end
Public Instance Methods
run()
click to toggle source
# File lib/nanoc/cli/commands/compile.rb, line 368 def run time_before = Time.now load_site puts 'Compiling siteā¦' run_listeners_while do site.compile prune end time_after = Time.now puts puts "Site compiled in #{format('%.2f', time_after - time_before)}s." end
Protected Instance Methods
default_listener_classes()
click to toggle source
# File lib/nanoc/cli/commands/compile.rb, line 392 def default_listener_classes [ Nanoc::CLI::Commands::Compile::DiffGenerator, Nanoc::CLI::Commands::Compile::DebugPrinter, Nanoc::CLI::Commands::Compile::TimingRecorder, Nanoc::CLI::Commands::Compile::GCController, Nanoc::CLI::Commands::Compile::FileActionPrinter, ] end
listeners()
click to toggle source
# File lib/nanoc/cli/commands/compile.rb, line 411 def listeners @listeners end
prune()
click to toggle source
# File lib/nanoc/cli/commands/compile.rb, line 386 def prune if site.config[:prune][:auto_prune] Nanoc::Extra::Pruner.new(site, exclude: prune_config_exclude).run end end
prune_config()
click to toggle source
# File lib/nanoc/cli/commands/compile.rb, line 430 def prune_config site.config[:prune] || {} end
prune_config_exclude()
click to toggle source
# File lib/nanoc/cli/commands/compile.rb, line 434 def prune_config_exclude prune_config[:exclude] || {} end
reps()
click to toggle source
# File lib/nanoc/cli/commands/compile.rb, line 426 def reps site.compiler.reps end
run_listeners_while() { || ... }
click to toggle source
# File lib/nanoc/cli/commands/compile.rb, line 415 def run_listeners_while setup_listeners yield ensure teardown_listeners end
setup_listeners()
click to toggle source
# File lib/nanoc/cli/commands/compile.rb, line 402 def setup_listeners @listeners = @listener_classes .select { |klass| klass.enable_for?(self) } .map { |klass| klass.new(reps: reps) } @listeners.each(&:start) end
teardown_listeners()
click to toggle source
# File lib/nanoc/cli/commands/compile.rb, line 422 def teardown_listeners @listeners.each(&:stop) end