Sha256: 7f2b918898f7a6cbfba01d42cfecb819c1cd66e57c6d7d5e4d0aab822f32491b

Contents?: true

Size: 881 Bytes

Versions: 6

Compression:

Stored size: 881 Bytes

Contents

module Roger
  class Cli::Serve < Cli::Command


    desc "Serve the current project"

    class_options :port => :string, # Defaults to 9000
                  :host => :string, # Defaults to 0.0.0.0
                  :handler => :string # The handler to use (defaults to mongrel)

    def serve
      server_options = {}
      options.each{|k,v| server_options[k.to_sym] = v }
      server_options[:server] = {}
      [:port, :handler, :host].each do |k|
        server_options[:server][k] = server_options.delete(k) if server_options.has_key?(k)
      end

      server = @project.server
      server.set_options(server_options[:server])

      puts "Running Roger with #{server.handler.inspect} on  #{server.host}:#{server.port}"
      puts project_banner(@project)
    end

    # Hack so we can override it in tests.
    def start
      @project.server.run!
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
roger-1.1.3 lib/roger/cli/serve.rb
roger-1.1.2 lib/roger/cli/serve.rb
roger-1.1.1 lib/roger/cli/serve.rb
roger-1.1.0 lib/roger/cli/serve.rb
roger-1.0.1 lib/roger/cli/serve.rb
roger-1.0.0 lib/roger/cli/serve.rb