class Journey

Public Class Methods

new(destination) click to toggle source
# File lib/flickru/journey.rb, line 6
def initialize destination
  Ruby.assert("destination >= 0") { destination >= 0 }

  @distance    = destination
  @destination = destination
  @beginning   = Time.now
  @current     = Time.now
end

Public Instance Methods

distance() click to toggle source
# File lib/flickru/journey.rb, line 26
def distance
  @distance
end
elapsed() click to toggle source
# File lib/flickru/journey.rb, line 30
def elapsed
  @current - @beginning
end
eta() click to toggle source
# File lib/flickru/journey.rb, line 34
def eta # seconds
  @distance * elapsed / progress 
end
progress() click to toggle source
# File lib/flickru/journey.rb, line 22
def progress
  @destination - @distance
end
take(step) click to toggle source
# File lib/flickru/journey.rb, line 15
def take step
  Ruby.assert("@distance >= step") { @distance >= step }

  @distance -= step
  @current   = Time.now
end