草庐IT

客户端和命令

全部标签

ruby-on-rails - 在 rake 任务中接受来自控制台/命令提示符的用户输入

我正在为Rails编写一个自定义rake任务,该程序有一点总结了它要做什么,然后询问用户它要做什么是否正确。puts"\nIsthiswhatyouwanttohappen?[Y/N]"answer=gets.chompifanswer=="Y"#commitselseifanswer=="N"returnfalse#(Abortstheraketask)end但是,此代码会导致rake过早中止;rakeaborted!Nosuchfileordirectory-populate“populate”是rake任务的名称。我认为是什么真正导致了.gets方法中的错误。我不知道.gets方

ruby - Ruby 中的命名命令行参数

有没有办法将命名参数传递给Ruby脚本?我理解ARGV传递参数的方式,但是这要求它们必须有一定的顺序。我想做的是传递命名参数,类似于其他命令行操作。例如:$rubysomeRubyScript.rb-aargumentA-bargumentB有什么想法吗? 最佳答案 有几个选项。OptionParser,在标准库中,是最受欢迎的之一。它可以完全满足您的需求,而且API也很不错。GetOptLong也在标准库中,它重新实现了POSIX风格的命令行。如果您想模拟Unix命令行应用程序,这一切都可以做到。AraT.Howard的Main是

ruby - 如何在命令行上获取 ruby​​ -e 的管道输入?

我正在尝试弄清楚如何在bash控制台上编写一行代码并通过管道传输到ruby​​,但我不知道如何获取输入。这不起作用:echo"MyString"|ruby-e"#{STDIN.read.first.downcase}"如何在ruby​​中获取管道输入? 最佳答案 Ruby将您的行视为注释,因为它以#开头。这会起作用:echo"MyString"|ruby-e"putsgets.downcase"输出:mystring我用过Kernel#gets而不是STDIN.gets:Returns(andassignsto$_)thenextl

ruby - 从命令行运行 Ruby 库

在对Python非常满意几年后,我刚刚学习了Ruby的基础知识(我仍在使用Python做某些事情),但我想知道是否有成语或hack来解决这个特殊问题问题。我有一个Ruby脚本,我希望能够用它执行requirescript_name,但我也希望能够运行rubyscript_name.rb从终端并将其作为命令行脚本运行。在Python中,这将通过在脚本底部具有以下结构来完成:if__name__=='__main__':#dosomethinghere但是,我似乎找不到Ruby中的等效项。有没有办法检测当前脚本是否正在从命令行运行?也许是一些Kernel::方法之类的?理想情况下,我想要的

ruby - 如何在使用门卫的 oauth 提供商上为我的用户预授权客户端应用程序?

我编写了一个oauth提供程序,旨在与我公司的几个Web应用程序一起使用。我正在使用doorkeepergem,到目前为止效果很好。典型的行为是用户转到客户端应用程序,被重定向到提供商以登录,确认客户端应用程序有权访问该用户的信息,然后被重定向回客户端应用程序。但是,我想跳过用户确认客户端应用程序的步骤。我想为他们做,所以没有提示。我试图模仿代码Ifoundhere像这样:Doorkeeper::Application.all.eachdo|application|auth_params={response_type:'code',client_id:application.uid,r

ruby - 是否有带有响应缓存的 Ruby http 客户端库?

是否有一个Rubyhttp客户端库,其中响应由ETag自动缓存,并且If-Non-Matchheader应用于以前使用的URL上的请求? 最佳答案 您可能需要查看“RubyHTTPclientsfeatures”列表(2015年1月的存档版本)以获得完整的概述。 关于ruby-是否有带有响应缓存的Rubyhttp客户端库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/61049

ruby-on-rails - 检索 Braintree 客户的订阅

我想收集Braintree客户的所有订阅。当我浏览到网关中的客户页面时,我可以看到他们的订阅,但是Braintree::Customer似乎不存在类似subscriptions的方法,或者我可以通过customer_id搜索Braintree::Subscriptions。我可以通过迂回方式访问客户的所有订阅,但速度非常慢。例如,我可以检索客户的所有交易,并为每笔交易获取subscription_id(如果存在),然后检索具有该ID的订阅。这涉及与BraintreeAPI的大量通信,我希望有一个更有效的解决方案。哦,我正在用Rails对此进行编程,但这个问题似乎不是特定于Rails的。

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

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

ruby - 是否可以在 Rubymine 中运行终端/命令提示符?

如果我可以在ruby​​mine中运行某种命令行,我会工作得更快,这可能吗?测试时,我不得不反复切换到我的终端窗口,这很烦人。我可以运行rails控制台和沙盒版本的ruby​​mine以及我的rails服务器和spork服务器。在ruby​​mine中有一个命令提示符会很好,也可以加快速度。事实上,这将使ruby​​mine100%完美地适合我的Rails开发,因为它可以满足其他所有要求。 最佳答案 基于IDEA平台的产品没有这样的功能。您需要在外部运行终端。请注意,为方便起见,您可以创建一个外部工具来在当前文件或模块目录中运行终端

ruby - rbenv:ruby:找不到命令

我在本地目录中使用rbenv和ruby​​版本1.9.1-p378。命令ruby-v给出以下错误:rbenv:ruby:commandnotfoundThe`ruby'commandexistsintheseRubyversions:2.0.0-p353知道为什么会这样吗?bundle、rails命令也不起作用。命令rbenv版本:*1.9.1-p378(setby/home/user/Desktop/r1/noko1/.ruby-version)2.0.0-p353 最佳答案 您收到的投诉来自rbenv。它提示的事实表明rbenv