Class: BuBus::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/bubus/client.rb

Constant Summary collapse

BASE_URL =
"http://www.bu.edu/bumobile/rpc/bus/livebus.json.php"

Instance Method Summary collapse

Constructor Details

#initializeClient

Returns a new instance of Client.



8
9
10
# File 'lib/bubus/client.rb', line 8

def initialize()
  @buses = []
end

Instance Method Details

#buses(&block) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/bubus/client.rb', line 12

def buses(&block)
  res = request
  buses = res["ResultSet"]["Result"]
  @buses = buses.map do |bus|
    Bus.new(bus)
  end

  if block_given?
    @buses.map do |bus|
      block.call(bus)
    end
  else
    @buses
  end
end

#requestObject



28
29
30
31
32
33
34
35
36
# File 'lib/bubus/client.rb', line 28

def request
  uri = URI(BASE_URL)
  res = Net::HTTP.get_response(uri)
  if(res.is_a?(Net::HTTPOK))
    res = JSON.parse(res.body)
  else
    raise 'Error'
  end
end