Sha256: 3f5b81576637205f06ccc8397954a1f583adbe5e5adbed2964501bc2d19e77d2

Contents?: true

Size: 818 Bytes

Versions: 35

Compression:

Stored size: 818 Bytes

Contents

module Chronic
  # A Span represents a range of time. Since this class extends
  # Range, you can use #begin and #end to get the beginning and
  # ending times of the span (they will be of class Time)
  class Span < Range
    # Returns the width of this span in seconds
    def width
      (self.end - self.begin).to_i
    end

    # Add a number of seconds to this span, returning the
    # resulting Span
    def +(seconds)
      Span.new(self.begin + seconds, self.end + seconds)
    end

    # Subtract a number of seconds to this span, returning the
    # resulting Span
    def -(seconds)
      self + -seconds
    end

    # Prints this span in a nice fashion
    def to_s
      '(' << self.begin.to_s << '..' << self.end.to_s << ')'
    end

    alias :cover? :include? unless RUBY_VERSION =~ /^1.9/

  end
end

Version data entries

35 entries across 35 versions & 5 rubygems

Version Path
chronic-mmlac-0.6.4.2 lib/chronic/span.rb
chronic-0.9.0 lib/chronic/span.rb
Hokkaido-0.1.5 chronic/lib/chronic/span.rb
Hokkaido-0.1.4 chronic/lib/chronic/span.rb
Hokkaido-0.1.3 chronic/lib/chronic/span.rb
Hokkaido-0.1.2 chronic/lib/chronic/span.rb
Hokkaido-0.1.1 chronic/lib/chronic/span.rb
Hokkaido-0.1.0 chronic/lib/chronic/span.rb
Hokkaido-0.0.9 chronic/lib/chronic/span.rb
Hokkaido-0.0.6 chronic/lib/chronic/span.rb
Hokkaido-0.0.5 chronic/lib/chronic/span.rb
Hokkaido-0.0.4 chronic/lib/chronic/span.rb
chronic-0.8.0 lib/chronic/span.rb
chronic-0.7.0 lib/chronic/span.rb
chronic_2001-0.1.5 lib/chronic/span.rb
chronic_2001-0.1.4 lib/chronic/span.rb
chronic_2001-0.1.3 lib/chronic/span.rb
chronic_2001-0.1.2 lib/chronic/span.rb
chronic_2001-0.1.1 lib/chronic/span.rb
chronic_2001-0.1.0 lib/chronic/span.rb