【问题标题】:What is a good way to see output from my ruby gem?查看我的 ruby​​ gem 输出的好方法是什么?
【发布时间】:2017-05-02 22:16:21
【问题描述】:

我想知道一种在我的 ruby​​ gem 中运行代码的好方法(而不仅仅是通过测试)。

这意味着我想在终端上运行ruby lib/{gemname}.rb 并能够看到一些输出

所以我的基本文件中有这一行:

$LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)

然后我加载了一个名为debugger.rb 的文件,要求它位于基本文件的底部。然后这个文件给了我我需要的输出。

这行得通,但这种情况会使我的代码变得混乱,我不想意外提交它并看到它在生产中中断。

那么有什么好的方法呢?

【问题讨论】:

  • 您是否考虑过创建一个可执行文件来运行您的 gem?这将是在命令行运行它的一种简单方法。
  • 所以是的 - 我正在这样做,但每次我想调试某些东西时都需要构建它。还在 Rails 应用程序中运行 gem,但每次更改时我都会重新启动服务器

标签: ruby debugging rubygems development-environment


【解决方案1】:

我开发和调试 gems 的方法分为两部分:

1) 始终使用 require_relative 来包含所需的“内部”gem 相关文件。这允许 gem 在作为 gem 安装时以及在我的开发环境中正常加载(忽略可能已经安装的 gem 的任何版本。)

2) 然后(通常)在主文件底部使用以下 sn-p 代码,以在基本 my_gem.rb 文件在命令行上显式运行时激活调试功能。

if __FILE__ == $0
  #debugging code goes here!
end

使用此策略,无需担心在发布 gem 之前提取调试代码。

【讨论】:

    猜你喜欢
    • 2021-11-04
    • 2014-08-24
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多