3.day.before, 2.hour.from_now等不需要Rails?[英] 3.days.ago, 2.hours.from_now etc without Rails?

本文是小编为大家收集整理的关于3.day.before, 2.hour.from_now等不需要Rails?的处理方法,想解了3.day.before, 2.hour.from_now等不需要Rails?的问题怎么解决?3.day.before, 2.hour.from_now等不需要Rails?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

有些书提到了一些用 #days、#megabytes、#minutes 等装饰数字的 gem.这只是在 ActiveSupport 中,还是有一个更小的 gem 提供此功能以用于(小)非 Rails宝石?我想在一个小小的 gem 中将此功能用作 DSL 的一部分.

推荐答案

我不确定除了 ActiveSupport 是否还有其他 gem,但是自己制作一个小版本真的很简单:

class Fixnum
  SECONDS_IN_DAY = 24 * 60 * 60

  def days
    self * SECONDS_IN_DAY
  end

  def ago
    Time.now - self
  end
end

3.days.ago #=> 2011-06-18 08:45:29 0200

from_now 可以像 ago 一样实现,但与 + self 和 weeks、hours 等类似,如 days 使用不同的常量.

本文地址:https://www.itbaoku.cn/post/786515.html