jjzjj

ruby - Thor 可执行文件 - 忽略任务名称

雷神维基页面,MakinganExectable,向您展示了如何创建一个看起来像这样的thor支持的CLI命令:庆典./mythorcommandfoo这需要您将thor任务foo作为第一个参数传递。我还可以使用thor的default_method运行不带任何参数的thor可执行文件:庆典./神话命令但是,我想传入一个可变字符串作为第一个参数:庆典./mythorcommand"somevalue"这不起作用,因为thor命令期望第一个参数是任务名称。有没有办法忽略任务名称并将第一个参数发送到默认方法?如果这个功能不存在,我认为添加一个将所有命令行参数传递到一个任务/方法中的方法会非

ruby-on-rails - 与雷神的互动提示

我想以某种方式要求用户说出他们的flickr_id、flickr_apikey和那些东西,但id'最乐意在我的安装命令下这样做,这样它就不会因为所有的原因而变得如此冗长和粗重论点。类似的东西$thorPhotoonRails:installWe'reabouttoinstallyoursystem..blaa,blaa,blaa...Wehavetoknowyou'reFlickID,getiherehttp://idgettr.com/FlickrID:{hereyoushouldtypeyourid}Wealsohastoknowyou'reflickapikey,makeoneh

ruby - 你如何在 Thor 中指定多个参数或参数?

my_gem你好name1name2name3给我一个my_gemhellorequiresatleast1argument:my_gemhelloname我应该只解析它们并用定界符分隔参数吗?例如my_gemhelloname1,name2,name3,nameN在文件中它看起来像classMyCLI或者有没有办法做到这一点? 最佳答案 是的,还有另一种方法。require'thor'classTestApp它可以这样调用:$thortest_app:hellofirstsecondthirdhellofirst;second;t

ruby - 如何让两个雷神任务共享选项?

对于雷神,可以使用method_option为特定任务设置选项。要为一类中的所有任务设置选项,可以使用class_option。但是,如果想要一个类的一些任务而不是全部任务来共享选项呢?在下面的task1和task2中共享选项,但它们不共享所有选项,并且它们不与task3共享任何选项。require'thor'classCli:string,:required=>true,:default=>'foo'deftask1enddesc'task2','Task2'method_option:type,:type=>:string,:required=>true,:default=>'fo

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

我正在使用Thor并尝试将YAML输出到文件。在irb中,我得到了我所期望的。YAML格式的纯文本。但是当Thor中的方法的一部分时,它的输出是不同的......classFoo"Xavier","age"=>30}putstest#{"name"=>"Xavier","age"=>30}putstest.to_yaml#!binary"bmFtZQ==":!binary|-#WGF2aWVy#!binary"YWdl":30File.open("data/config.yml","w"){|f|f.write(test.to_yaml)}endend有什么想法吗?

ruby - 向 Ruby Thor CLI 添加 --version 选项

如何向我的Ruby添加--version选项Thor命令行界面应用程序。例如我希望能够运行$thor_app--version>thor_appversion1.0.0这个问题与RunaCLIThorappwithoutargumentsortaskname有关,但专门添加一个不需要任务的--version选项。注意这是在self-answerformat之后编写的.鼓励添加答案和更新 最佳答案 我在这种方法上运气不错:classCLI:__print_versiondesc"--version,-v","printtheversi

ruby - 独立 ruby​​ 可执行文件中的命名空间 thor 命令

在命令行上调用thor命令时,方法按其模块/类结构命名,例如classApp将与命令一起运行thorapp:hello但是,如果你通过放置使它自己可执行App.start在底部你可以运行这样的命令:apphello有什么方法可以命名这些命令吗?这样你就可以调用,例如appsay:helloappsay:goodbye 最佳答案 另一种方法是使用寄存器:classCLI','Description.')endclassSubTask现在-假设您的可执行文件名为foo-您可以调用:$foosubbar在当前的thor版本(0.15.0.

ruby-on-rails - 控制台应用程序的 Boson vs Thor

有没有人同时使用过Boson和Thor?Thor非常受欢迎,拥有比Boson更多的追随者和贡献者,但Boson看起来比Thor强大得多,而且架构经过深思熟虑。在玻色子中你:可以添加在控制台和ruby​​环境中都使用的方法。因此,您不必同时拥有用于控制台的Thorfile和用于ruby​​的gems。可以有别名。不必安装脚本文件,只需将它们放在~/.boson/commands中即可。每次更新后,我总是不得不为卸载和安装Thorfiles而苦恼(在编辑源代码时可能每分钟都要这样,非常令人沮丧)。有比thor更好的命令输出。不必像在Thor中那样手写参数描述。使用模块,这比使用类更好,因为

ruby - 如何在单独的类/模块/文件中编写 Thor 任务?

我在获取Thor时遇到了一些问题这样做,所以希望有人能指出我做错了什么。我有一个主类classMyApp我想为多个命名空间分成单独的文件,比如thorcreate:app_type和thorupdate:app_type.我找不到任何示例来说明应该如何将Thor应用程序分解成多个部分,而且我尝试过的方法似乎不起作用。举个例子,这个类我正试图从主Thor类中脱离出来:moduleThingsmoduleGroupingdesc"something","Dosomethingcoolinthisgroup"defsomething....endendend当我尝试在我的主类中包含或要求它时

ruby - 在没有参数或任务名称的情况下运行 CLI Thor 应用程序

我正在寻找一种方法来创建命令行thor应用程序,该应用程序将运行不带任何参数的默认方法。我摆弄了Thor的default_method选项,但仍然需要我传递一个参数。我找到了一个similarcase有人想运行带有参数但没有任务名称的CLIThor任务。我想运行一个没有任务名称和参数的任务。这样的事情可能吗? 最佳答案 似乎正确的Thor方式是使用default_task:classCommands如果出于某种原因这不是你需要的,你应该能够做类似的事情classCommands 关于ru