lib/nanoc3/cli/commands/view.rb in nanoc3-3.2.0a4 vs lib/nanoc3/cli/commands/view.rb in nanoc3-3.2.0b1

- old
+ new

@@ -1,57 +1,31 @@ # encoding: utf-8 -module Nanoc3::CLI::Commands +usage 'view [options]' +summary 'start the web server that serves static files' +description <<-EOS +Start the static web server. Unless specified, the web server will run on port 3000 and listen on all IP addresses. Running the autocompiler requires 'adsf' and 'rack'. +EOS - class View < Cri::Command +option :H, :handler, 'specify the handler to use (webrick/mongrel/...)' +option :o, :host, 'specify the host to listen on (default: 0.0.0.0)' +option :p, :port, 'specify the port to listen on (default: 3000)' - def name - 'view' - end +run do |opts, args, cmd| + Nanoc3::CLI::Commands::View.call(opts, args, cmd) +end - def aliases - [] - end +module Nanoc3::CLI::Commands - def short_desc - 'start the web server that serves static files' - end + class View < ::Nanoc3::CLI::Command - def long_desc - 'Start the static web server. Unless specified, the web server will run on port 3000 and listen on all IP addresses. Running the autocompiler requires \'adsf\' and \'rack\'.' - end - - def usage - "nanoc3 view [options]" - end - - def option_definitions - [ - # --handler - { - :long => 'handler', :short => 'H', :argument => :required, - :desc => 'specify the handler to use (webrick/mongrel/...)' - }, - # --host - { - :long => 'host', :short => 'o', :argument => :required, - :desc => 'specify the host to listen on (default: 0.0.0.0)' - }, - # --port - { - :long => 'port', :short => 'p', :argument => :required, - :desc => 'specify the port to listen on (default: 3000)' - } - ] - end - - def run(options, arguments) + def run require 'rack' require 'adsf' # Make sure we are in a nanoc site directory - @base.require_site + self.require_site # Set options options_for_rack = { :Port => (options[:port] || 3000).to_i, :Host => (options[:host] || '0.0.0.0') @@ -65,10 +39,10 @@ handler = Rack::Handler::WEBrick end end # Build app - site = @base.site + site = self.site app = Rack::Builder.new do use Rack::CommonLogger use Rack::ShowExceptions use Rack::Lint use Rack::Head