Spec-Zone.ru › Ruby on Rails 4.1

класс ActiveSupport::Duration

Родитель:
ProxyObject

Обеспечивает точные измерения дат и времени, используя Date#advance и Time#advance соответственно. В основном поддерживает методы в Numeric.

1.month.ago       # equivalent to Time.now.advance(months: -1)

Атрибуты

parts[RW]
value[RW]

Публичные методы экземпляров

+(other) Показать исходный код

Добавляет другой Duration или Numeric к этому Duration. Значения Numeric рассматриваются как секунды.

# File activesupport/lib/active_support/duration.rb, line 19
def +(other)
  if Duration === other
    Duration.new(value + other.value, @parts + other.parts)
  else
    Duration.new(value + other, @parts + [[:seconds, other]])
  end
end
-(other) Показать исходный код

Вычитает другой Duration или Numeric из этого Duration. Значения Numeric рассматриваются как секунды.

# File activesupport/lib/active_support/duration.rb, line 29
def -(other)
  self + (-other)
end
==(other) Показать исходный код

Возвращает true если other также является экземпляром Duration с такими же value, или если other == value.

# File activesupport/lib/active_support/duration.rb, line 44
def ==(other)
  if Duration === other
    other.value == value
  else
    other == value
  end
end
ago(time = ::Time.current) Показать исходный код

Вычисляет новую дату Time или Date, которая находится так же далеко в прошлом, как это представляет Duration.

# File activesupport/lib/active_support/duration.rb, line 71
def ago(time = ::Time.current)
  sum(-1, time)
end
Также алиас: until
eql?(other) Показать исходный код
# File activesupport/lib/active_support/duration.rb, line 52
def eql?(other)
  other.is_a?(Duration) && self == other
end
from_now(time = ::Time.current)
Псевдоним для: since
since(time = ::Time.current) Показать исходный код

Вычисляет новую дату Time или Date, которая находится так же далеко в будущем, как это представляет Duration.

# File activesupport/lib/active_support/duration.rb, line 64
def since(time = ::Time.current)
  sum(1, time)
end
Также алиас: from_now
until(time = ::Time.current)
Псевдоним для: ago

© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API