Class: PostBin::Server
- Inherits:
-
Sinatra::Base
- Object
- Sinatra::Base
- PostBin::Server
- Defined in:
- lib/postbin/server.rb
Class Method Summary collapse
-
.parse_args(argv) ⇒ Object
Parse command line args.
-
.run_command_line!(argv) ⇒ Object
Runs a server on local machine, called by command line executable.
Class Method Details
.parse_args(argv) ⇒ Object
Parse command line args.
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/postbin/server.rb', line 65 def self.parse_args(argv) # default options. = { :bind => '127.0.0.1', :port => 6969, :server => 'thin', :enviroment => :production } # available options. opts = OptionParser.new('', 24, ' ') do |opts| opts. = 'Usage: postbin [options]' opts.separator '' opts.separator 'PostBin options:' opts.on('-v', '--version', 'show version number') { $stderr.puts 'PostBin ' + PostBin::Version; exit } opts.on('-h', '--help', 'show this message') { $stderr.puts opts; exit; } opts.separator '' opts.separator 'Rack options:' opts.on('-s', '--server SERVER', 'server (webrick, mongrel, thin, etc.)') { |s| [:server] = s } opts.on('-a', '--address HOST', 'listen on HOST address (default: 127.0.0.1)') { |host| [:bind] = host } opts.on('-p', '--port PORT', 'use PORT number (default: 6969)') { |port| [:port] = port } end.parse!(argv) end |
.run_command_line!(argv) ⇒ Object
Runs a server on local machine, called by command line executable.
58 59 60 61 62 |
# File 'lib/postbin/server.rb', line 58 def self.run_command_line!(argv) = parse_args(argv) $stderr.puts "== Starting PostBin on http://#{[:bind]}:#{[:port]}" run!() end |