问题标签 [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 投票
1 回答
291 浏览

ruby-on-rails-3 - 如何在 railtie 中使用 thor 而不是 rake

我想在 Railtie 中提供 thor 任务而不是 rake 任务。在 Railties 中提供 rake 脚本有一种直接且有据可查的方法:

我怎样才能对雷神任务做同样的事情?

0 投票
1 回答
1397 浏览

ruby - 访问 Thor 选项哈希

我想将一个值合并到一个Thor 选项 hash中。

如果我只使用合并我会得到一个错误,HashWithIndifferentAccess

我已经阅读了文档,但我很难理解如何让它工作。我想我希望这个问题能帮助我找到关于如何将值合并到这种散列中的问题的答案,并了解如何阅读文档。

0 投票
2 回答
252 浏览

task - 班内的雷神任务列表?

我已经查看了所有内容(谷歌搜索),我无法为我的生活弄清楚如何做到这一点。是否可以获得当前类中定义的雷神任务列表?我正在尝试编写一个方法来确定传递给 thor 的参数是否有效,为此,我需要一个所有已定义任务的列表。我可以在某个常量中创建一个列表,但如果可能的话,我宁愿使用内置工具。

前任:

如果我的问题不够清楚,或者我只是在处理这一切都错了,请告诉我:)

谢谢

0 投票
1 回答
1112 浏览

ruby - 如何创建 thor::group 生成器作为 my_command 的参数

在我的 gem 中,我想要一个带有 args 的可执行命令,如下所示:

所以我做了

富/斌/富

和foo/lib/thor/foo.rb中的 Foo 文件

foo/lib/thor/generators/project.rbfoo/lib/thor/generators/config.rb

我想指定从 Thor::Group 继承的类,例如 katz 示例...

所以我的问题是:我该如何设置,以便我可以从可执行文件中调用这些生成器,例如:

我在正确的轨道上吗?foo理想情况下,自己打字应该say_hi为所有生成器提供帮助。

0 投票
1 回答
1768 浏览

ruby - 如何将 Thor::Group 注册为带有参数的子命令

这个问题从这里开始。但随着我对托尔的了解更多,发生了显着变化。

我正在尝试制作一个带参数的 Thor::Group 子命令。奇怪的是,如果没有参数,它会起作用。

我可以使用 Thor::Group 作为子命令吗?

这在我输入时有效: foo counter

富/斌/富

但是当我输入时这不起作用: foo counter 5

它回复:counter was called incorrectly. Call as foo counter number

0 投票
3 回答
3272 浏览

ruby - Thor & YAML 输出为二进制?

我正在使用 Thor 并尝试将 YAML 输出到文件。在 irb 中,我得到了我的期望。YAML 格式的纯文本。但是当Thor中的方法的一部分时,它的输出是不同的......

有任何想法吗?

0 投票
2 回答
407 浏览

ruby - 在多个 Thor 任务中共享全局数据的最佳实践

我目前正在构建一个支持多个不同任务的 Thor 可执行文件。一些任务调用其他任务。例如

  • 认证
    • 验证本地用户
  • 创造
    • 调用身份验证
    • 做某事
    • 调用配置
  • 配置:
    • 调用身份验证
    • 做某事

thor 的好处是我现在可以分别调用所有三个任务,但请确保仅通过调用调用一次身份验证。

但是现在在这些任务之间共享数据的最佳方式是什么。例如,在进行身份验证时,我想设置当前用户的用户 ID。因此,当我想从我们的网络服务请求数据时,我可以以相同的方式从代码中的任何位置获取用户 ID。

现在我正在通过模块实现这一点,但我不确定这是否是最好的方法。

使用 Singleton 将是另一种方式,但不知何故,这似乎有点太多了。

也许你们有更好的方法来做到这一点,或者也许使用模块是存储信息的最佳方式。

0 投票
4 回答
2351 浏览

ruby-on-rails - 如何更改自定义 Rails 生成器的源?(雷神)

我正在制作一个自定义生成器来生成一个新的 rails 应用程序,我这样做是这样的

问题是,我如何添加一个新的源目录(然后由Thor::Actions#copy_file,Thor::Actions#template和其他人使用)?我在 Thor 的文档中看到了Thor::Actions#source_paths包含源的文档(它是一个路径数组),所以我尝试在我的类中覆盖它(因为我已经包含了Thor::Actions):

有了这个,我想./templates在源代码中添加目录,同时仍然保留 Rails 的目录(这就是+ super最后的原因)。但它不起作用,它仍然将 Rails 的源路径列为唯一路径。

我尝试浏览 Rails 的源代码,但我找不到 Rails 是如何将他的目录放在源路径中的。我真的很想知道:)

0 投票
1 回答
137 浏览

ruby - 如何获得“雷神列表”以列出 ruby​​ 类中的方法

即使使用最简单的程序,我也无法在 thor 中列出我的任务:

这是我运行时的控制台输出thor list

如您所见,输出中省略了“hello”方法名称。你能帮帮我吗?

谢谢你,
保罗

0 投票
1 回答
248 浏览

ruby-on-rails - 将 Rails App Template CD 设为 root 并运行捆绑命令?

我相信你会欣赏这种懒惰的尝试:我想在 Rails 3.2 中改进我的应用程序模板脚本。

我做类似的事情 rails new APPNAME -m path/to/template.rb

我想更新脚本以允许我cd进入新应用程序以便我可以运行bundle exec COMMAND

例如,

当我运行上面的代码时,我得到一个错误,比如 -

感谢您启用我的懒惰。