Sha256: cdadd2f6904cf2d19ec94e803bc4cc70df7cbe4ec0cebf8adb45b6421adadcd0

Contents?: true

Size: 1.12 KB

Versions: 2

Compression:

Stored size: 1.12 KB

Contents

require 'metromobilite/request'
require 'metromobilite/model/pattern'
require 'metromobilite/model/time'
require 'metromobilite/model/stop'
require 'json'

module Metromobilite
    module Times
        RECORDS_URI = '/ficheHoraires/json'
        LIVE_URI = '/routers/default/index/stops/%s/stoptimes'
        
        # Reads the next stop times at a stop, eventually for a given route
        # Returns an array of Metromobilite::Model::Stop with their associated stop times
        #
        # +stopId_string+::
        #   the stop id
        #
        def self.readStop(stopId)
            uri = LIVE_URI % stopId.to_s
            jsonData = Metromobilite::Request.get(uri)
            res = []
            jsonData.each do |item|
                pattern = Metromobilite::Model::Pattern.new(item['pattern'])
                times = []
                item['times'].each do |timeJson|
                    times.push(Metromobilite::Model::Time.new timeJson)
                end
                res.push(Metromobilite::Model::Stop.new pattern, times)
            end

            return res
        end
    end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
metromobilite-0.2 lib/metromobilite/times.rb
metromobilite-0.1 lib/metromobilite/times.rb