class BuBus::Client

Public Class Methods

new() click to toggle source
# File lib/bubus/client.rb, line 7
def initialize()
end

Public Instance Methods

buses(&block) click to toggle source
# File lib/bubus/client.rb, line 10
def buses(&block)
  buses = request(BuBus::Bus::URL)["ResultSet"]["Result"]
  buses = buses.map {|bus| Bus.new(bus) }
  
  return buses unless block_given?
  buses.map {|bus| block.call(bus)} 
end
stops(&block) click to toggle source
# File lib/bubus/client.rb, line 18
def stops(&block)
  stops = request(BuBus::Stop::URL)["ResultSet"]["Result"]
  stops = stops.map {|stop| Stop.new(stop)}

  return stops unless block_given?
  stops.map {|stop| block.call(stop)}
end

Private Instance Methods

request(url) click to toggle source
# File lib/bubus/client.rb, line 27
def request(url)
  res = Net::HTTP.get_response(URI(url))
  if(res.is_a?(Net::HTTPOK))
    res = JSON.parse(res.body)
  else
    raise 'Error server responded with: #{res.code}'
  end
end