bin/camping in camping-2.0 vs bin/camping in camping-2.1

- old
+ new

@@ -1,97 +1,14 @@ #!/usr/bin/env ruby -trap("INT") { exit } -require 'optparse' -require 'ostruct' -require 'stringio' -require 'yaml' - $:.unshift File.dirname(__FILE__) + "/../lib" + require 'camping' require 'camping/server' -conf = OpenStruct.new(:host => '0.0.0.0', :port => 3301) - -# Setup paths -if home = ENV['HOME'] # POSIX - db_path = File.join(home, '.camping.db') - rc_path = File.join(home, '.campingrc') -elsif home = ENV['APPDATA'] # MSWIN - db_path = File.join(home, 'Camping.db') - rc_path = File.join(home, 'Campingrc') -end - -# Parse options -opts = OptionParser.new do |opts| - opts.banner = "Usage: camping app1.rb, app2.rb..." - opts.define_head "#{File.basename($0)}, the microframework ON-button for ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]" - opts.separator "" - opts.separator "Specific options:" - - opts.on("-h", "--host HOSTNAME", "Host for web server to bind to (default is all IPs)") { |val| conf.host = val } - opts.on("-p", "--port NUM", "Port for web server (defaults to #{conf.port})") { |val| conf.port = val } - opts.on("-d", "--database FILE", "SQLite3 database path (defaults to #{db_path ? db_path : '<none>'})") { |db_path| conf.database = {:adapter => 'sqlite3', :database => db_path} } - opts.on("-C", "--console", "Run in console mode with IRB") { conf.server = "console" } - server_list = ["mongrel", "webrick", "console"] - opts.on("-s", "--server NAME", server_list, "Server to force (#{server_list.join(', ')})") { |val| conf.server = val } - - opts.separator "" - opts.separator "Common options:" - - # No argument, shows at tail. This will print an options summary. - # Try it and see! - opts.on_tail("-?", "--help", "Show this message") do - puts opts - exit - end - - # Another typical switch to print the version. - opts.on_tail("-v", "--version", "Show version") do - puts Gem.loaded_specs['camping'].version - exit - end -end - begin - opts.parse! ARGV + Camping::Server.start rescue OptionParser::ParseError => ex STDERR.puts "!! #{ex.message}" puts "** use `#{File.basename($0)} --help` for more details..." exit 1 end - -if ARGV.length < 1 - puts opts - exit 1 -end - -# Load configuration if any -if rc_path and File.exists?(rc_path) - YAML.load_file(rc_path).each do |k,v| - conf.send("#{k}=", v) unless conf.send(k) - end - puts "** conf file #{rc_path} loaded" -end - -# Default db -if conf.database.nil? and db_path - conf.database = { :adapter => 'sqlite3', :database => db_path } -end - - -# get a copy of the paths to pass to the server -paths = ARGV.dup - -# Check that mongrel exists -if conf.server.nil? || conf.server == "mongrel" - begin - require 'mongrel' - conf.server = "mongrel" - rescue LoadError - puts "!! Could not load mongrel. Falling back to webrick." - conf.server = "webrick" - end -end - -server = Camping::Server.new(conf, paths) -server.start