Class: Roger::Cli::Serve

Inherits:
Command
  • Object
show all
Defined in:
lib/roger/cli/serve.rb

Overview

The serve command

Instance Method Summary collapse

Methods inherited from Command

exit_on_failure?, #initialize_project

Instance Method Details

#serveObject



10
11
12
13
14
15
16
17
18
19
# File 'lib/roger/cli/serve.rb', line 10

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.key?(k)
  end

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

#startObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/roger/cli/serve.rb', line 21

def start
  server = @project.server

  @project.server.run! do |server_instance|
    puts "Running Roger with #{server.used_handler.inspect}"
    puts "  Host: #{server.host}"
    puts "  Port: #{server.used_port}"
    puts
    puts project_banner(@project)

    # Hack so we can override it in tests.
    yield server_instance if block_given?
  end
end