Rails インスタンスが実行されているローカル ポートを見つけるにはどうすればよいですか?
概要
そこで、Rails アプリのインスタンスが、私が遊んでいる「I’m up」のようなものに自身を登録し、どのローカル ポートで実行されているかを言及できるようにしたいと考えています。その方法が見つからないようです。実際、IP を見つけるだけでも難しく、ちょっとしたハックが必要です。
でも、問題ありません。IP は持っています。しかし、mongrel/thin/webrick サーバーがどのポートで実行されているかを確認するにはどうすればよいでしょうか?
非常に明示的に言うと、script/server -p 3001 を使用して Rails アプリを起動した場合、その 3001 をアプリ内にプルするにはどうすればよいでしょうか。
解決策
Rails::Server.new.options[:Port] を呼び出して、Rails サーバーが実行されているポートを取得できます。これにより、rails サーバー コマンドからの -p 3001 args、またはデフォルトのポート 3000 が解析されます。