0

Ruby のワークスペースでメソッドを使用できるとします。メソッドの完全修飾名を回復するために使用できるコマンドはありますか?

Matlab のwhich関数に似たものを探しています。これは、指定された引数に対して明確な名前を返します。

特定の GET および POST リクエストを送信する必要がある Cucumber でテストを作成しているため、質問します。getワークスペースにとメソッドの両方がありpostますが、自分でインポートしなかったため、どこから来たのかわかりません。これらのメソッドのドキュメントを見たいと思います。ドキュメントを見つけるには、それらがどのモジュールで定義されているかを知る必要があります。どのモジュールからのものかを把握するために、完全修飾名を取得しようとしています。

4

1 に答える 1

1

私はそれを考え出した。Andrew Marshall は、私を正しい方向に導くコメントを残しました。

まず、pry をgemfileに含めて実行してインストールしましたbundle install

次にbinding.pry、テストコードに挿入しました。これにより、テストを実行したときに、こじ開けセッションに陥りました。

pry セッションで、lsコマンドを入力すると、コンテキスト内のすべての変数が一覧表示されました。getpostを見つけましたRack::Test::Methods#methods

Rack::Test::Methods#methods: _current_session_names  authorize  basic_authorize  build_rack_mock_session  build_rack_test_session  clear_cookies  current_session  delete  digest_authorize  follow_redirect!  get  head  header  last_request  last_response  options  post  put  rack_mock_session  rack_test_session  request  set_cookie  with_session

したがって、ワークスペース内のメソッドの FQN を見つける 1 つの方法は、Pry のlsコマンドを実行し、出力を調べることです。

于 2012-09-04T01:07:03.273 に答える