草庐IT

java - 在 onDestroy 中执行长时间运行的操作

全部标签

ruby-on-rails - 在非 Rails Ruby 应用程序中包含 Rails 时间助手

我主要使用Rails进行开发,我喜欢1.hour.from_now、34.minutes和24.megabytes助手Rails内置了它。然而,现在我正在构建一个拥有这些助手的Ruby应用程序会很好。是否可以只在Ruby应用程序中获取这些助手,而不必引入整个Rails框架? 最佳答案 这些方法来自ActiveSupport'scoreextensions(特别是关于整数和数字的),所以你可以只需要它们:require'active_support/core_ext/integer/time'require'active_suppor

ruby-on-rails - 在不使用 `at_exit` 的情况下,如何确保操作在 Rails 退出之前运行?

我有一个操作需要在我的Rails应用程序终止之前在我的Rails应用程序中执行。我可以在Rails中为此使用一个钩子(Hook)吗?我猜类似于at_exit的东西。 最佳答案 Ruby本身支持两个钩子(Hook),BEGIN和END,它们在脚本开始时运行,并在解释器停止运行时运行。有关详细信息,请参阅“WhatdoesRuby'sBEGINdo?”。BEGIN文档说:Designates,viacodeblock,codetobeexecutedunconditionallybeforesequentialexecutionofth

ruby-on-rails - 如何为模型/ View / Controller 以外的文件编写/运行规范

当我对模型/View/Controller使用railsgenerate命令时,使用rails和rspec很容易让rspec为我生成必要的文件。但是现在我想为我编写的模块编写规范。该模块位于/lib/my_module.rb中,因此我在/spec/lib/my_module_spec.rb中创建了一个规范我遇到的问题是,当我尝试执行rspecspec/时,文件my_module_spec.rb已运行,但在中引用了我的模块找不到lib/my_module.rb。执行此操作的正确方法是什么?仅供引用,my_module_spec.rb文件中已经包含require'spec_helper'r

ruby - 格式化日期时间字符串

我需要我的字符串"Wed,26May201714:00:00+0800"格式为2017-05-2614:00:00+0800(可以将其保留为字符串但不是强制性的)。什么是最快的方法? 最佳答案 parse字符串并通过strftime重新格式化它:string='Wed,26May201714:00:00+0800'Time.parse(string).strftime('%F%T%z')#=>"2017-05-2614:00:00+0800" 关于ruby-格式化日期时间字符串,我们在S

ruby - 在 gem 上运行测试的简单方法?

有没有一种快速简便的方法来测试已在本地安装的gem?喜欢:gemtestgem_name_to_testrubygemsdocs说可以将gem:--run-tests放在~/.gemrc文件中,以便在安装gem时运行单元测试。虽然我无法让它工作,但这并不是我所需要的。 最佳答案 您可以导航到gem所在的位置并从那里运行测试,例如:$cd~/.rvm/gems/ruby-1.9.2-p290/gems/awesome_print-0.4.0$rakespec请注意,可能需要通过bundler或gem安装其他依赖项

ruby - 如何使用 Rake 为 Rspec 运行 JunitFormatter 输出?

我可以使用以下方式运行rspec文件:rspec-fJUnitFormatter-ojunit.xmlspec_test.rb但是每次我尝试rake执行spec文件时,我都会收到以下错误/formatters/junit_formatter.rb:28:in`require':nosuchfiletoload--rspec/core/formatters/base_formatter(LoadError)from./formatters/junit_formatter.rb:28from/usr/lib/ruby/1.8/spec/runner/option_parser.rb:151

ruby - capybara 增加最大允许页面加载时间

我有一个页面,有时加载时间超过一分钟。假设这是预期的行为并且不会改变。在这些情况下,我得到Net::ReadTimeout。请注意,这是在通过单击上一页上的按钮导航到页面之后,而不是ajax请求。因此Capybara.using_wait_time没有帮助。我尝试了一些激进的方法(其中一些我知道行不通),例如:设置page.driver.browser.manage.timeouts的implicit_wait、script_timeout和page_load。遍历整个对象空间并设置所有Selenium::WebDriver::Remote::Http::Default的timeout

ruby - 当我在我的模型上运行 RSpec 时,为什么会出现 "strip"和 "downcase"的未定义方法错误?

我在模型上运行RSpec测试并收到字符串方法的错误,例如:“index”、“downcase”和“strip”。知道为什么会这样吗?我该如何解决? 最佳答案 如果您得到“未定义的方法”,那么您正在操作的对象可能不是字符串。在调用.strip等之前尝试打印出.class的结果,然后查看您正在使用的对象类型。通常返回字符串的函数可能会在错误时返回非字符串(如nil),您可能会无意中对类似的东西进行操作。 关于ruby-当我在我的模型上运行RSpec时,为什么会出现"strip"和"downc

ruby - 在 Debug模式下运行 RSpec

这是一个简短的问题:我正在寻找一种在Debug模式下运行规范的方法,使用-u开关,以便RSpec随时下降到控制台它失败了,无需在代码中添加debugger行。有什么指点吗? 最佳答案 将回答我自己的问题。正在关注thistutorial,我创建了一个自定义格式化程序,如:require"spec/runner/formatter/specdoc_formatter"classDebuggerFormatter 关于ruby-在Debug模式下运行RSpec,我们在StackOverflo

ruby-on-rails - 留下未使用的 REST 操作不好吗?

我真的很困惑如何做到这一点。我也感到疲倦和沮丧,我的大脑因看到这么多不同的东西而受伤。保留未使用的REST操作是一种不好的做法吗?例如,我有一个资源模型,用户可以提交它们,但我不需要“索引”操作来显示它们,因为这是由Home#indexController处理的。我想要做的就是使用link_to转到带有表单的页面以添加新资源。所以现在我尝试做的所有link_to都在我做resources_path时继续尝试去/resources。我阅读了如何使用“遗留”方法并直接链接到Controller中的操作,但这不是“rails方式”。现在,如果我不使用默认情况下执行的所有不同REST操作,我将