草庐IT

java - 在 JodaTime 中生成日期范围

全部标签

ruby-on-rails - state_machine 中状态的命名范围

我使用state_machine在我的Rails3.1应用程序之一上使用ActiveRecord。我发现访问具有不同状态的记录的语法很麻烦。是否可以将每个状态同时定义为作用域而不用手写作用域定义?考虑以下示例:classUser:foodostate:foostate:bar#...endend#state_machinesyntax:User.with_status:fooUser.with_status:bar#desiredsyntax:User.fooUser.bar 最佳答案 我正在将以下内容添加到我的模型中:state_

Ruby:两个范围之间的交集

在ruby​​中,给定两个日期范围,我想要表示两个日期范围交集的范围,如果没有交集则为nil。例如:(Date.new(2011,1,1)..Date.new(2011,1,15))&(Date.new(2011,1,10)..Date.new(2011,2,15))=>Mon,10Jan2011..Sat,15Jan2011编辑:应该说我希望它也适用于DateTime,因此间隔可以减少到分钟和秒:(DateTime.new(2011,1,1,22,45)..Date.new(2011,2,15))&(Date.new(2011,1,1)..Date.new(2011,2,15))=>

ruby - 范围数组的索引数组

Ruby中的范围非常酷。我最终得到这样的数组:geneRanges=[(234..25),(500..510),(1640..1653)]然后必须删除其中的一部分。为此我:genePositions=geneRanges.collect{|range|range.entries}.flatten=>[500,501,502,503,504,505,506,507,508,509,510,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653]它们会被操纵,因此一些数字被排除在外,而另一些可能会被添加。我

ruby-on-rails - 具有多态关联的范围和查询

关于如何在Rails中为多态关联编写作用域,我发现的很少,更不用说如何在多态关联上编写查询了。在Rails文档中,我查看了PolymorphicAssociationssection,JoiningTablessection,和Scopessection.我也做了我应得的谷歌搜索。以这个设置为例:classPet所以宠物可以是animal_type“狗”、“猫”或“鸟”。要显示所有表结构:这是我的schema.rb:create_table"birds",force::cascadedo|t|t.datetime"created_at",null:falset.datetime"upd

Ruby 的 vcr 的 Java 替代品?

是否有Ruby'sVCR的java替代品??据我所知,使用VCR的好处是巨大的,您可以运行“集成测试”并记录结果,将它们存储在本地某个地方。现在,从下次需要运行测试时起,您可以使用第一次运行时记录的数据模拟实际数据库命中。Java世界中有类似的东西吗?如果没有,如果我尝试实现它可能会遇到什么样的瓶颈?VCR只记录HTTP交互,但是否可以采用这种方法来记录,比如对其他团队的API的任何类型的数据库操作/函数调用,我不需要测试,基本上这将使我免于模拟所以通过自动化来完成很多事情。Here是带有Ruby单元测试的VCR示例: 最佳答案 查

ruby - 范围值错误

当我运行以下代码时:defdb(y)returnself%y==0endputs"Tonumber:"n=gets.chompforiin1..nifi.db(3)puts"Fizz!"ifi.db(5)puts"FIZZBUZZ!"endelsifi.db(5)puts"Buzz!"elseputsiendend我收到“范围值错误”错误。为什么会发生这种情况我该如何解决?将变量用于某些值的正常范围可以完美地工作,包括for循环,为什么this不起作用?注意:我希望for循环保留为for循环。 最佳答案 只需按照以下步骤操作即可:n

ruby-on-rails - Rails 以月为单位计算日期范围

如何计算两个日期的月差?此外,如果它有所作为,我正在使用Date对象,而不是DateTime。此外,一些舍入选项可能会很好,这样我就可以控制是否要对部分月份进行向上或向下舍入。谢谢! 最佳答案 从一个Date或DateTime中减去另一个Date或DateTime将得到天数的分数,但这可以根据需要评估为Float或Fixnum。例如:(Date.today-Date.today.advance(:months=>-3)).to_f#=>89.0今天与三个月前的同一日历日期之间相隔89.0天。如果您使用30天的月份或平均30.4375

ruby-on-rails - has_many 关系中 child 数量的 rails3 范围

尝试在rails3中做一个范围。:bookhas_many:chapters我希望scope:long返回超过10章的书籍。如何最好地构建这个范围(不使用计数器缓存)?谢谢! 最佳答案 这应该让你继续:classBookscope:long,joins(:chapters).select('books.id,count(chapters.id)asn_chapters').group('books.id').having('n_chapters>10')end有帮助吗? 关于ruby-o

ruby - capybara - 使用 xPath 查找正在离开范围内

我正在尝试使用默认的Rails日期、时间和日期时间字段通过Capybara构建一个日期选择器。我正在使用within方法来查找该字段的选择框,但是当我使用xPath查找正确的框时,它会离开within范围并在元素的页面。这是我使用的代码。我正在测试的页面有2个日期时间字段,但由于这个错误,我只能让它更改第一个。目前我有一个div容器,其id包含日期时间字段,但我确实计划切换代码以通过标签查找。moduleMarketronmoduleDateTimedefselect_date(field,options={})date_parse=Date.parse(options[:with])

ruby - 如何在 Ruby 中向全局范围添加方法?

Sinatra定义了许多似乎存在于当前范围内的方法,即不在类声明中。这些在Sinatragem中定义。我希望能够编写一个gem来创建一个我可以从全局范围调用的函数,例如add_blog(:my_blog)这将在全局范围内调用函数my_blog。显然,我可以使用add_blog函数对gem中的Object类进行猴子修补,但这似乎有点矫枉过正,因为它会扩展每个对象。 最佳答案 TL;博士extend-在顶层添加模块将其方法添加到顶层,而不将它们添加到每个对象。有三种方法可以做到这一点:选项1:在您的gem中编写顶级方法#my_gem.r