- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我已经创建了一个 .thor
脚本来按照我喜欢的方式设置一个新的 ruby 项目。我正在使用 Thor::Actions directory
命令完全从模板目录结构构建应用程序,而不是使用 heredocs 内联定义它们。脚本目录看起来像这样:
rubynu.thor
template/
bin/
lib/
%app_name%.rb.tt
%app_name%
README.markdown
.gitignore
...
这真的很棒,让我可以根据自己的喜好轻松地可视化和更改模板的各个部分。
但是我想不出一个很好的方法让 thor 在使用 thor install rubynu.thor
安装 .thor
文件后找到模板目录。安装将 .thor
文件的副本粘贴到 ~/.thor
中,但忽略了 template/
目录,因此找不到模板了。
我不想对 source_root
路径进行硬编码或手动将模板目录复制到 ~/.thor
。 thor 是否有内置的东西可以处理安装模板以及 .thor
文件?如果能在安装的时候打包在一起就好了。
如果不是,解决这个问题的最好方法是什么?当然,在某处使用模板文件的系统安装了雷神任务。你是怎么做到的?我想我可以绕过 thor install
并将其作为 gem 提供(尽管这看起来有点矫枉过正),或者硬着头皮将所有模板定义内联到一个巨大的 .thor
文件(稍后对结构进行更改不太愉快)。
作为引用,这是我正在使用的简单 .thor
文件:
class Rubynu < Thor::Group
include Thor::Actions
argument :app_name
def self.source_root
File.dirname(__FILE__)
end
def apply_directory_template
directory 'template', app_name
end
end
谢谢!
最佳答案
如果您设置 .thor
像这样的文件:
<my_thor_commands>/
templates/
bin/
lib/
...
main.thor
thor install <my_thor_command>
将查找名为 main.thor
的文件,然后在 <my_thor_command>
中安装它和其他任何东西.之后,您可以依靠:
def self.source_root
File.dirname(__FILE__)
end
这将为您提供通往 <my_thor_command>
的路径安装时。
关于ruby - 如何让 Thor 为系统安装的 .thor 文件找到模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8410840/
我已经创建了一个 .thor 脚本来按照我喜欢的方式设置一个新的 ruby 项目。我正在使用 Thor::Actions directory 命令完全从模板目录结构构建应用程序,而不是使用 her
我想访问 Thor::Actions ( http://textmate.rubyforge.org/thor/Thor/Actions.html) 中的一些很棒的辅助方法,但如果不使用 Thor C
我有一个基于 thor 的 Ruby 脚本,但我想将它作为 gem 部署在人们的 bin 目录中,人们无需执行 thor mytool 即可访问。 所以他们只会使用 mytool 这可能吗? 我知道使
有没有办法让雷神有两个互斥的选项?例如,我需要提供一个列表选项。我可能有一个选择 -l ent1 ent2 ent3 ent67 ,我可能有一个选项 -f我传递了一个包含内容的文件 ent1 ent2
我正计划制作我的第一个命令行工具,并且想知道命名和命令是如何工作的。 我希望我的工具的功能与 Git 类似,因为您只需安装它,然后只需输入 git clone 或 git commit 即可运行命令。
我必须使用这个命令来运行我的 ruby 程序: $ruby filename.rb NAME --from="People" --yell 我有这样的脚本: require 'thor' class
我正在使用 Thor 编写 CLI gem。现在我有两个子命令,我想用连字符连接它们的名称。但我不知道如何让它发挥作用。 这是主类 module CLI class Base Could not
当我运行 thor 任务时,是否可以先调用特定任务? 我的 Thorfile: class Db < Thor desc "show_Version", "some description ...
我正在使用 Thor 内置操作“copy_file”从我的模板源复制文件,覆盖现有文件。 我总是想覆盖,不想以交互方式确认这一点。 文档并未建议此操作的配置哈希中有强制选项,但 http://text
我想将一个值合并到一个 Thor option hash 中. 如果我只是使用合并,我会得到一个错误,HashWithIndifferentAccess 我已经阅读了文档,但我很难理解如何让它工作。我
我想使用 Thor 在 Ruby 中创建一个命令行工具。此工具应打包为 gem,以便轻松安装和卸载。 创建并发布 gem,我已经完成了。我还创建了几个同样有效的 Thor 脚本。但是,我不知道如何将它
是否可以创建一个接受命名空间的基于 Thor 的 Ruby 可执行文件?例如,允许从命令行执行以下操作:./thorfile greet:formal 鉴于我有以下 thorfile: #!/usr/
这是我的 Ruby 代码: require 'thor' require 'thor/group' module CLI class Greet :string, :description
我是 Thor(和 Ruby)的新手,我正在考虑在构建脚本中使用它,因为据说它可以替代 Rake(从而替代 Make)。然而,经过短暂的试用,我对它返回的错误状态感到困惑。我快速浏览了 wiki,但没
雷神维基页面,Making an Exectable , 向您展示了如何创建一个看起来像这样的 thor 支持的 CLI 命令: 庆典 ./mythorcommand foo 这需要您将 thor 任
我正在寻找一种在 thors 模板操作中将选项传递给 ERB 模板引擎的方法。 我偶然发现了像这样使用 thors 模板操作的 bundler cli 源代码: opts = {:name => na
my_gem 你好 name1 name2 name3 给我一个 my_gem hello requires at least 1 argument: my_gem hello name 我应该只解析
我正在使用 Thor 并尝试将 YAML 输出到文件。在 irb 中,我得到了我所期望的。 YAML 格式的纯文本。但是当 Thor 中的方法的一部分时,它的输出是不同的...... class Fo
是否可以使用 Thor Action 从文件中删除一行文本。例如我想删除 ruby 评论。到目前为止,我已经找到了 2 个操作:comment_lines - 注释行,以及 gsub_file 谢谢
我刚刚开始使用 Thor。我一直在查看文档,但找不到任何隐藏任务的代码示例。我想要的是这样的, desc "configure", "Do the configuration" def configu
我是一名优秀的程序员,十分优秀!