Module: NextBus

Defined in:
lib/next_bus.rb,
lib/next_bus/version.rb,
lib/next_bus/bus_times.rb

Defined Under Namespace

Classes: BusTimes

Constant Summary collapse

BUS_TIMES =
%w{1615 1637 1657 1707 1717 1737 1745 1805 1825 1845 1905}
VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.run(*args) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/next_bus.rb', line 7

def self.run(*args)
  bus_times = BusTimes.new(BUS_TIMES)

  if args.include?('-a') || args.include?('--all')
    if list = bus_times.list
      'Next bus times: ' + list.join(', ')
    else
      'There are no more buses today.'
    end
  elsif args.include?('-m') || args.include?('--mins')
    if mins_until = bus_times.mins_till
    "Next bus is in #{mins_until} mins."
    else
      'There are no more buses today.'
    end
  elsif args.length == 0
    if next_bus = bus_times.next_bus
      "Next bus is at #{next_bus}"
    else
      'There are no more buses today.'
    end
  else
'Usage:
  next_bus [OPTIONS]

Options:
  -m, [--mins]              # Minutes till next bus
  -a, [--all]               # List all available buses
  -h, [--help]              # Show this message'
  end
end