问题标签 [thor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
785 浏览

ruby - 使用 thor 进行复杂的命令行工具

我想使用 Thor 在 Ruby 中创建一个命令行工具。此工具应打包为 gem,以便轻松安装和卸载。

创建和发布 gem,我已经完成了。我还创建了几个同样有效的 Thor 脚本。但是,我不知道如何将它们结合起来。

我的目标是能够通过以下方式调用我的工具: mytool task param --options mytool taskgroup:task param --options

我知道如何使一个 Thor 脚本可执行。但是,如何让一堆雷神脚本可以访问 throw one 命令?

0 投票
1 回答
172 浏览

ruby-on-rails - 从控制器中运行构造函数

所以我试图从控制器中运行生成器,我的想法是我可以从 Rails 应用程序中生成脚手架

出于测试目的,我创建了一个小型生成器,它创建了一个没有实际内容的初始化程序。我已经从 shell 中运行了它(rails 生成初始化程序)

但是当我尝试从控制器运行生成器时问题就来了

所以这带来了响应'未定义的方法'行为'然后我做了一些研究,知道rails生成器是基于托尔的,发现行为方法是托尔::动作模块中的雷神方法 http://rubydoc.info/github /wycats/thor/master/Thor/Actions:行为

所以我更改了控制器代码以包含该模块:

现在错误是“参数数量错误(0 为 3)”。我现在对可能出了什么问题感到非常困惑。

0 投票
1 回答
679 浏览

ruby - Thor 抱怨过 Ruby 命令行应用程序中的选项拼写错误吗?

是否可以让 Thor 抱怨拼写错误/无法识别的命令行选项?

例子:

Thor 真的很好,但如果它只是忽略不知道如何处理的输入,它对我来说并没有太大帮助。Maid 还可以选择指定一个 Maid 规则文件,如下所示:

在上述两种情况下,我该怎么做才能让 Thor 抱怨?

Maid gem 的代码在 GitHub 上http://github.com/benjaminoakes/maid

0 投票
1 回答
46 浏览

ruby-on-rails - 在 ruby​​ 中给定搜索模式的行旁边添加内容

我正在制作一个自定义 rails 3 生成器,我想在以下语言环境文件中的属性行之后添加一些内容,例如,插入“用户:'用户'”

考虑到属性行可以位于文本的任何位置,我该怎么做?

0 投票
2 回答
3102 浏览

ruby - 如何在 thor 中使用或添加子命令功能?

我正在使用 thor 创建一个 CLI 应用程序。它进展顺利,但现在我坚持使用子命令功能。

它的 github wiki 中没有任何内容,并且在 Google 上四处搜索,但没有任何帮助。

那么,有人可以向我展示或指出如何实现子命令功能吗?

0 投票
2 回答
1323 浏览

ruby - 有人可以提供 Thor::HiddenTask 用法的示例吗?

我刚开始使用Thor。我一直在查看文档,找不到任何隐藏任务的代码示例。我想要的是这样的,

但我不希望配置显示在任务列表中。这有点……私人的,你知道吗?有人可以给我一个例子吗?

在 lib/thor/task.rb 中有一个名为 HiddenTask 的 Task 子类。谁能提供一个如何使用该子类以及如何hidden?调用其方法的示例?谢谢!

编辑:下面的两个答案都实现了我的问题中提到的目标,但它们都不是 Thor:HiddenTask 用法的示例。我想我将不接受这个问题的答案。它们都是很好的答案,也是我实际用来实现所需行为的第一个答案,但我真的很想看到一个 HiddenTask 的示例,以便答案很好地对应于问题。

谢谢!

0 投票
1 回答
280 浏览

ruby-on-rails - Aruba with Thor,该功能因奇怪的问题而失败

使用 Thor 和 Aruba 作为测试框架构建 CLI 应用程序。

在 github https://github.com/cucumber/aruba/issues/76的 Aruba 问题上发布了此问题,但仍然没有任何评论。

所以我把它贴在这里,以便我能得到一些反馈。

问题

文件中有2个场景,features/login.feature场景之间的区别是一个使用Then I debugstep,另一个不使用。

当我运行bundle exec cucumber features/时,没有调试器的步骤失败。Aruba 无法捕获输出。

但是带有调试器步骤的那个会停止,当我按下c继续时,Aruba 可以捕获输出并通过。

自从过去 2 天以来一直在敲我的头,用谷歌搜索了整个地球,但找不到问题所在。

我已经在https://github.com/millisami/aruba_thor上传了 repo,以便有人可以看到这个问题。

要运行该功能,只需运行bundle exec cucumber features.

0 投票
1 回答
180 浏览

ruby - Can thor accept unix-like options (such as -lv)?

I've recently started using thor. I've set my script up with some global options, such as -l --logging and -v --verbose. I'd like users to be able to call my thor task with "-lv" rather than "-l -v", but this doesn't seem possible. Has anyone encountered this problem, discussion of this problem, or a solution to this problem? (I haven't...)

Thanks!

PS for bonus marks, are these argument clusters called something? Is "unix-like options" meaningful, or is there some name for that?

0 投票
2 回答
3242 浏览

ruby - 将选项传递给 thor 中的模板函数

我正在寻找一种在 thors 模板操作中将选项传递给 ERB 模板引擎的方法。

我偶然发现了使用 thors 模板操作的 bundler cli 源,如下所示:

但是当我在我的 thor 任务中添加这样的选项时,ERB 找不到它们,我只能在我的 thor 类中使用参数和函数来设置模板中的变量。

我不知道绑定在 ruby​​ 中是如何工作的,也许有一种方法可以通过绑定到 ERB 来传递范围。

0 投票
1 回答
498 浏览

ruby - 如何使用 thor -T 列出方法选项?

使用 thor 时,我习惯于编写这样的代码,

当我运行不带参数或使用 -TI 的 diamond_importer 命令行工具时,会获取“导入”等任务的描述列表,但不会获得“num_diamonds”等选项的描述或其用法。

如何添加此类使用详细信息以便显示它们?

谢谢!