Class: Slurpy
- Inherits:
-
Thor
- Object
- Thor
- Slurpy
- Defined in:
- lib/slurpy/slurpy.rb
Constant Summary collapse
- DEFAULTS_FILE =
"#{Dir.home}/.slurpy"- CACHE_FOLDER =
'/tmp/slurpy/cache'- BASE_URL =
'http://www.slushuttle.com/Services/JSONPRelay.svc/'- RESOURCES =
{ times: 'GetScheduleFutureStopTimes?TimesPerStopString=2', stops: 'GetStops', routes: 'GetRoutes' }
Instance Method Summary collapse
-
#initialize(*args) ⇒ Slurpy
constructor
A new instance of Slurpy.
- #next(origin = defaults['origin'], destination = defaults['destination']) ⇒ Object
Constructor Details
#initialize(*args) ⇒ Slurpy
Returns a new instance of Slurpy.
25 26 27 28 |
# File 'lib/slurpy/slurpy.rb', line 25 def initialize *args super APICache.store = Moneta.new(:File, dir: CACHE_FOLDER) end |
Instance Method Details
#next(origin = defaults['origin'], destination = defaults['destination']) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/slurpy/slurpy.rb', line 33 def next(origin = defaults['origin'], destination = defaults['destination']) origin, destination = destination, origin if [:return] to_origin_shuttles, origin_name = Slurpy.shuttles_for_stop origin to_destination_shuttles, destination_name = Slurpy.shuttles_for_stop destination puts "Searching routes from '#{origin_name}' to '#{destination_name}'..." Slurpy.error 'Do you really want to go in circles?' if origin_name == destination_name origin_to_destination_shuttles = to_origin_shuttles .select do |route_id, time| to_destination_shuttles[route_id] && to_origin_shuttles[route_id] < to_destination_shuttles[route_id] end Slurpy.error "No shuttles from '#{origin_name}' to '#{destination_name}', sorry. " \ "See http://www.slushuttle.com/ for more details." \ if origin_to_destination_shuttles.empty? origin_to_destination_shuttles.each do |route_id, time| puts "#{Slurpy.get_route_by_id(route_id)['Description']} " \ "- Departure: #{to_origin_shuttles[route_id]} " \ "Arrival: #{to_destination_shuttles[route_id]}" end end |