首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展IRB主要方法

扩展IRB主要方法
EN

Stack Overflow用户
提问于 2015-01-17 09:33:07
回答 1查看 231关注 0票数 1

我的应用程序中有一个目录结构。为了开发目的(可能更远),我目前有一个类X,它有类方法pwdcdls。当我在应用程序中输入irb时,是否有办法使这些方法可用,例如:

代码语言:javascript
复制
2.1.5 :0 > pwd
/current_dir/

目前我正在做:

代码语言:javascript
复制
2.1.5 :0 > X.pwd
/current_dir/

这很不方便。

可以简单地向现有类添加一些内容的解决方案将是完美的,例如:

代码语言:javascript
复制
class X < Irb::main
  def self.pwd
    #stuff
  end
end

现在我还不太喜欢hirb,但是如果有一个适用于hirbirb的解决方案,我就试一试!谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-17 09:55:55

在Rails中,当Rails应用程序通过IRB启动时,可以有条件地将方法混合到控制台中。

这是使用console配置块在您的application.rb文件中完成的。

代码语言:javascript
复制
module MyApp
  class Application < Rails::Application

    # ...

    console do
      # define the methods here
    end

  end
end

在你的例子中,有几种可能性。您可以简单地将这些方法委托给库。

代码语言:javascript
复制
module MyApp
  class Application < Rails::Application
    console do

      # delegate pwd to X
      def pwd
        X.pwd
      end

    end
  end
end

如果X是一个模块,则可以包含它。

代码语言:javascript
复制
module MyApp
  class Application < Rails::Application
    console do
      Rails::ConsoleMethods.send :include, X
    end
  end
end
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27998113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档