1

アプリにディレクトリ構造があります。開発目的で (おそらくそれ以降も)、現在、Xクラスメソッドpwdcd、およびを持つクラスがありlsます。irbたとえば、アプリ内に入ったときにこれらのメソッドを使用できるようにする方法はありますか。

2.1.5 :0 > pwd
/current_dir/

現在私はやっています:

2.1.5 :0 > X.pwd
/current_dir/

これは単に不便です。

次のように、既存のクラスに何かを単純に追加できるソリューションは完璧です。

class X < Irb::main
  def self.pwd
    #stuff
  end
end

今のところ、私はあまり掘り下げていませんが、またはhirbで動作する解決策があれば、試してみます! ご協力いただきありがとうございます!hirbirb

4

1 に答える 1

4

Rails では、Rails アプリが IRB 経由で開始されたときに、条件付きでメソッドをコンソールに混在させることができます。

これは、ファイル内のconsole構成ブロックを使用して行われapplication.rbます。

module MyApp
  class Application < Rails::Application

    # ...

    console do
      # define the methods here
    end

  end
end

あなたの場合、いくつかの可能性があります。メソッドをライブラリに委任するだけです。

module MyApp
  class Application < Rails::Application
    console do

      # delegate pwd to X
      def pwd
        X.pwd
      end

    end
  end
end

または X がモジュールの場合は、それを含めることができます

module MyApp
  class Application < Rails::Application
    console do
      Rails::ConsoleMethods.send :include, X
    end
  end
end
于 2015-01-17T09:55:55.537 に答える