В некоторых книгах упоминается некоторый драгоценный камень, чтобы украсить цифры с помощью #days
, #megabytes
, #minutes
и т.д. Это только в ActiveSupport или есть меньший камень, который предоставляет эту функциональность для использования в (небольших) не-рельсах драгоценные камни? Я хочу использовать эту функциональность как часть DSL в крошечной маленькой драгоценности.
3.days.ago, 2.hours.from_now и т.д. Без Rails?
Ответ 1
Я не уверен, есть ли еще один драгоценный камень помимо ActiveSupport
, но было бы очень просто сделать небольшую версию:
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
, используя разные константы.
Ответ 2
ActiveSupport имеет эту функцию. Он первоначально был частью Rails, но теперь может использоваться отдельно.