ruby-on-rails - 浏览 Ruby 源代码

标签 ruby-on-rails ruby

我的主要目标是能够完全理解我正在使用的库/gem。我尝试在 Github 上从头到尾阅读源代码,但这真的很难。

我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem 方法的源代码。

例如,我想知道 Ruby on Rails 中的 redirect_to 方法是如何工作的:

  1. 如何查找redirect_to 方法的源代码?
    • 我知道在 pry 中我可以执行类似show-method method 的操作,但我如何才能对 Rails 框架中的方法执行此操作?
  2. 您对我如何更好地理解 Gem 及其 API 有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。

谢谢!

最佳答案

RubyMine IDE 满足了我的这一需求。它具有这些功能,大大降低了阅读 gem 源码的阈值:

  • Gems 是项目树的一部分(在 External Libraries 伪目录中),因此您可以像处理自己的代码一样导航甚至编辑它们。

  • 单键命令(在 Mac 上为 command-B)从一个标识符(模块/类名、方法名等)导航到它的声明,或者在有多个声明时调出一个列表供选择.它适用于您的代码和 gem 代码。

  • 另一个命令(在 Mac 上为 option-command-O)允许您输入标识符名称以导航至上述位置。如果您输入的内容在您的代码中找不到,它会自动包含库代码;如果您输入的内容在您的代码中找到,您可以再次按下按键以包含 gem 代码。

  • 调试器不断显示您正在执行的代码。您可以设置断点,而无需在需要的地方编辑代码。您可以检查实际执行的堆栈帧上方的任何堆栈帧。所有这些功能同样适用于您的代码和 gem 代码。

一般来说,RubyMine 的所有功能都适用于 gem 代码以及项目代码。

关于除了阅读源代码之外的理解 gems 的方法:大多数 gems 都记录在它们的自述文件中(我总是在 Github 上阅读),并且可能在 gem 的根目录或 doc 目录中的其他文档文件中。一些 gems(包括 Rails gems)有值得一读的 rdoc。但是,由于从 gem 的使用导航到它的代码非常方便,我通常先尝试它,然后在阅读实际代码之前阅读代码中的 rdoc(如果有的话)。 RubyMine 还可以在使用标识符的地方显示 rdoc(在 Mac 上按 F1),但我总是发现直接查看代码更容易。

关于ruby-on-rails - 浏览 Ruby 源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37594502/

相关文章:

ruby - 使用 ruby​​ 创建 sqlite 数据库需要很长时间

ruby-on-rails - 在 Windows Server 2012 中部署 Ruby on Rails 应用程序

ruby-on-rails - gem install 无法从 ruby​​gems.org 下载

ruby-on-rails - 我真正运行的是哪个 Ruby 版本?

ruby - 在 Ruby 1.9.3 中使用 %x 调用 pwd 是否存在任何已知问题?

ruby-on-rails - 混合 ActiveRecord 查找条件

ruby-on-rails - 如何在 Ruby on Rails 中通过验证更新模型的特定字段?

ruby-on-rails - Ruby on Rails,如何制作图像标签

Ruby:字符串比较问题

Ruby OpenSSL 无法解密