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