Tag: ruby

在Delayed_job中手动重试作业

Delayed :: Job的自动重试function非常好,但是现在有一个工作要手动重试。 有没有一种方法可以在工作上自己调用… Delayed::Job.all[0].perform 或运行,或者什么的。 我尝试了一些东西,并梳理了文档,但无法弄清楚如何执行一个工作的手动重试。

删除所有安装的gem,并重新开始

我最近开始学习Ruby和Ruby on Rails,并观看了大量入门资料。 我最近一直在发现,我不断地收到错误的地方不会安装gem,或者他们将被安装,但由于某种原因,他们不能使用,我已经决定,我想删除一切再次只是安装了Ruby并重新开始安装。 一个培训video让我用RVM安装了大部分的gem,所以我不知道这是否会改变什么。 所以简而言之,我的问题是“如何摆脱RVM,Rubygems和所有已安装的Gem,以便我可以重新开始使用Ruby? 编辑:我在Mac OS 10.6上

如何在RSpec 2中自动加载spec_helper.rb

在Ruby中开发gem的时候,我几乎总是需要一个可以configurationRSpec的文件来满足我的需要,也许在这之前,需要一些辅助模块,这些模块应该在我所有的示例中都可用。 在Rails应用程序中,使用了一个名为spec/spec_helper.rb的文件。 有一件令我恼火的事情是在典型的Rails环境中,你必须在每个包含它的例子的文件中都要求这个spec_helper.rb文件被加载。 在过去,我遇到了很多与更改示例文件中的加载path和相对需求path有关的问题。 现在对于我的gem,我希望有一种方法来说只要说RSpec在加载任何示例文件之前需要spec_helper.rb文件。 独立于事实,如果我打电话rspec可执行文件,或我可以定义在我的Rakefile rake spec任务。 我知道我可以告诉RSpec只有我的spec_helper.rb的位置是这个spec_helper.rb需要手动的所有示例文件,但我也想避免额外的维护方法。 有没有更好的方法来完成这个?

Ruby:捕捉exception后继续循环

基本上,我想要做这样的事情(用Python或类似的命令式语言): for i in xrange(1, 5): try: do_something_that_might_raise_exceptions(i) except: continue # continue the loop at i = i + 1 我如何在Ruby中做到这一点? 我知道有redo和retry关键字,但他们似乎重新执行“try”块,而不是继续循环: for i in 1..5 begin do_something_that_might_raise_exceptions(i) rescue retry # do_something_* again, with same i end end

ruby .split('\ n')不会在新行上分裂

为什么这个string不能在每个“\ n”上分割? (ruby) "ADVERTISING [7310]\n\t\tIRS NUMBER:\t\t\t\t061340408\n\t\tSTATE OF INCORPORATION:\t\t\tDE\n\t\tFISCAL YEAR END:\t\t\t0331\n\n\tFILING VALUES:\n\t\tFORM TYPE:\t\t10-Q\n\t\tSEC ACT:\t\t1934 Act\n\t".split('\n')

在Ruby中按名称获取类?

有一个string与模块和类的名称,如: "Admin::MetaDatasController" 我如何获得实际的课程? 如果没有模块,以下代码可以工作: Kernel.const_get("MetaDatasController") 但它打破了模块: ruby-1.8.7-p174 > Kernel.const_get("Admin::MetaDatasController") NameError: wrong constant name Admin::MetaDatasController from (irb):34:in `const_get' from (irb):34 ruby-1.8.7-p174 >

不能在Ubuntu上安装json gem与ruby 2.2.3

我正在浏览一个Rails教程,由于json gem的问题,我无法完成“bundle install”。 当我尝试直接安装它时: me@tru2:~/rails/hello_app$ gem install json -v '1.8.3' Building native extensions. This could take a while… ERROR: Error installing json: ERROR: Failed to build gem native extension. /home/me/.rvm/rubies/ruby-2.2.3-dev/bin/ruby -r ./siteconf20150820-12793-qdkev7.rb extconf.rb creating Makefile make "DESTDIR=" clean make "DESTDIR=" compiling generator.c linking shared-object json/ext/generator.so /usr/bin/ld: cannot find -lgmp collect2: error: ld returned 1 exit […]

Ruby,生成一个随机的hex颜色

如何用ruby生成一个随机的hex颜色?

错误:无法构buildgem本机扩展(rails 3.2.3上的mysql2)

我试图安装与Rails 3.2.3的MySQL2的gem,它失败了: ★ bundle install Fetching gem metadata from https://rubygems.org/……… Using rake (0.9.2.2) Using i18n (0.6.0) Using multi_json (1.2.0) Using activesupport (3.2.3) Using builder (3.0.0) Using activemodel (3.2.3) Using erubis (2.7.0) Using journey (1.0.3) Using rack (1.4.1) Using rack-cache (1.2) Using rack-test (0.6.1) Using hike (1.2.1) Using tilt (1.3.3) Using sprockets (2.1.2) Using actionpack (3.2.3) […]

如何发信号“尚未实施”?

在最初起草一个新的gem,我需要留下一些方法实现为空(将在下一个实施) 因此,我想表示一个“尚未实施”的例外 我想知道是否有一种特定于Ruby语言的最佳实践或标准约定来编写这种占位符/例外。 即:像这样的东西: Java中的UnsupportedOperationException .Net Framework(C#)中的NotImplementedException