Sha256: a9c54713420eaee8481210abf773f156ac9f1f6c799eea5ee932b37d35a50a6d
Contents?: true
Size: 1.41 KB
Versions: 4
Compression:
Stored size: 1.41 KB
Contents
require 'rubygems' require 'rest_client' require 'json' class Transprt @domain = 'http://transport.opendata.ch' @version = 'v1' # # => find locations # def self.locations(parameters) allowed_parameters = ['query', 'x', 'y', 'type'] query = self.create_query(parameters, allowed_parameters) locations = JSON.parse(RestClient.get self.create_url('locations') + query) locations['stations'] end # # => find connections # def self.connections(parameters) allowed_parameters = ['from', 'to', 'via', 'date', 'time', 'isArrivalTime', 'transportations', 'limit', 'page', 'direct', 'sleeper', 'couchette', 'bike'] query = self.create_query(parameters, allowed_parameters) locations = JSON.parse(RestClient.get self.create_url('connections') + query) locations['connections'] end # # => find station boards # def self.stationboard(parameters) allowed_parameters = ['station', 'id', 'limit', 'transportations', 'datetime'] query = self.create_query(parameters, allowed_parameters) locations = JSON.parse(RestClient.get self.create_url('stationboard') + query) locations['stationboard'] end private def self.create_url(base) [@domain, @version, base].join('/') + '?' end def self.create_query(parameters, allowed_parameters) query = parameters.map{|k,v| "#{k}=#{v}" if allowed_parameters.include? k.to_s }.join('&') end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
transprt-0.1.3 | lib/transprt.rb |
transprt-0.1.2 | lib/transprt.rb |
transprt-0.1.1 | lib/transprt.rb |
transprt-0.1.0 | lib/transprt.rb |