現在、Web フレームワークがどのように機能するかを調べていますが、10 行目Camping
の行が何をしているのかわかりません。Camping::Server.start
/bin/camping
これで 131 行目のstart
メソッドが呼び出されると予想していたので、そのメソッドの先頭に単純なステートメントを配置し、実行時にそのステートメントが呼び出されることを期待しました。ただし、 puts ステートメントが呼び出されるのを見たことがないので、そのメソッドが呼び出されるのではないとしか思えません。/lib/camping/server.rb
puts 'hello'
/bin/camping
start
ここで明らかな何かが欠けているように感じます。キャンプ github ページとコードの関連セクションへのリンクは次のとおりです。
ギットハブ: https://github.com/camping/camping
から/bin/camping
:
#!/usr/bin/env ruby
$:.unshift File.dirname(__FILE__) + "/../lib"
require 'camping'
require 'camping/server'
begin
Camping::Server.start
rescue OptionParser::ParseError => ex
puts "did it error"
STDERR.puts "!! #{ex.message}"
puts "** use `#{File.basename($0)} --help` for more details..."
exit 1
end
から/lib/server.rb
:
def start
if options[:server] == "console"
puts "** Starting console"
@reloader.reload!
r = @reloader
eval("self", TOPLEVEL_BINDING).meta_def(:reload!) { r.reload!; nil }
ARGV.clear
IRB.start
exit
else
name = server.name[/\w+$/]
puts "** Starting #{name} on #{options[:Host]}:#{options[:Port]}"
super
end
end