问题标签 [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.
ruby-on-rails - 为什么我的 thor copy_file 命令不起作用?
我正在尝试设置一个 Rails 应用程序模板,并在我的 sample.rb 模板文件中有这个代码:
捆绑安装运行得很好,但复制命令失败并出现以下错误:
我无法理解这个错误以及如何解决它。我究竟做错了什么?请帮忙。
ruby-on-rails - 使用 Thor 删除文件中的一行
是否可以使用 Thor 操作从文件中删除一行文本。例如,我想删除 ruby 评论。到目前为止,我发现了 2 个操作:comment_lines
- 注释掉行,以及gsub_file
谢谢
ruby-on-rails - 使用 Ruby 脚本中的 .rvmrc 文件
背景
先介绍一下这个问题的背景:Ruby on Rails 最近存在一些安全问题。所以我们需要更新我们项目的 Rails 版本。如果你有几个,如果你手工做的话,它会很快变老......所以我想我可以为此创建一个 Thor 任务。
问题
现在效果很好!但!在安装新版本的 rails 时,我需要尊重每个项目的 .rvmrc 文件。我希望这个脚本尽快开源,但我想先解决不尊重 .rvmrc 文件的问题。
所以我需要的是一种在我切换到目录以更新 Rails 版本时使用正确的 RVM ruby 版本/gemset 的方法。
如何做到这一点?是否可以通过 Ruby 脚本以某种方式完成它,以便它可以在 Mac 和 Linux 上运行,无论 Shell 是什么(找到了 zsh 支持的答案,但是那里的所有其他 shell 呢?)
快速示例代码:
只是为了让您了解我正在尝试做的事情。
链接到 githubs 上的脚本
ruby - 在参数声明中使用参数值
我希望根据先前声明的参数的值指定参数的默认值。在此示例中,handlerSendPort
默认值应为handlerRecvPort + 1
这失败了:
undefined local variable or method
Noov::App:Class (NameError) 的 handlerRecvPort'`
我意识到参数值在类评估的上下文中不可用(尽管我希望有一些超魔来使其工作),那么此时我如何访问参数值?
ruby - 为什么 Thor 采用 no_tasks 方法?
或者,更具体地说:我不能只使用私有方法吗?
ruby - 如何在停止时杀死 ruby Thor 中的所有进程?
我在下面有一个脚本,它使用Thor像 rake 任务管理一样运行ARGV
。
当 start 时ruby script.rb start
,它会生成两个子进程(总共三个)。我的问题是如何在我执行时杀死所有进程ruby script.rb stop
。我在网上看到,在启动时,我应该将 pid 父进程存储到一个文件中,当停止时,我读取它并杀死它。问题是杀死父母不会杀死孩子。所以我可以将所有三个pid都保存在文件中,然后一一杀死。
我在问自己什么是正确的方法,以及我在内部处理流程的方式start
是否正确。
ruby-on-rails - 如何在自定义生成器中销毁文件夹
通过使用 Thor 在 Rails 中创建自己的生成器,我遇到了一个有点愚蠢的问题。
事实证明,当您运行生成器并在您的代码库中创建文件时,它是自动的,假设
假设 Thor 足够聪明,可以在我们调用时知道逆向方式destroy
但正如您所见,为包含该文件而生成的文件夹并未被删除。我了解这是一种预期行为,因为您可能希望保留稍后创建的其他文件或其他文件。
问题是:我如何在打电话时要求/强制雷神删除文件夹destroy
?
预先感谢!
thor - 与雷神互斥的选项
有没有办法让 Thor 有两个互斥的选项?例如,我需要提供某物列表的选项。我可能有一个选项-l ent1 ent2 ent3 ent67
,并且我可能有一个选项-f
,我传递一个包含内容的文件ent1 ent2 ent3 ent67
。这两个选项能否与 Thor 互斥而无需在方法中编写额外的处理代码?
ruby - Thor 启动 Jekyll 然后在浏览器中打开页面
嗨,我想让 Thor 启动一个服务器 - Jekyll / Python / PHP 等,然后打开浏览器
然而,开始是一个阻塞任务。
有没有办法在 Thor 中创建子进程;或产生一个新的终端窗口 - 看不到,谷歌没有给我任何合理的答案。
我的代码
ruby-on-rails-3.2 - Autotest re: Thor 中的“Bundler:GemNotFound”错误
编辑:我回滚到 Thor 0.17.0,这似乎有效。不知道为什么,但它就在那里。
我可以弄清楚是什么原因造成的,但是我的自动测试停止了运行测试并给了我以下错误:
我在 SO 上看到了一些关于 GemNotFound 错误的类似问题,但解决方案似乎对此不起作用。当我运行bundle exex gem list
Thor 时,存在 0.18.0。