class DragonsDream::RailwayInfo
Public Class Methods
new()
click to toggle source
# File lib/dragons_dream/railwayinfo.rb, line 4 def initialize @baseUrl = "http://express.heartrails.com/api/json" end
Public Instance Methods
stations_list(line)
click to toggle source
@param line [String] name of Railway Route. @return [Array] the list of stations information with given line.
# File lib/dragons_dream/railwayinfo.rb, line 10 def stations_list(line) get_line(line)["station"] rescue raise ArgumentError, "line must not be nil" if line.nil? raise end
Private Instance Methods
get_line(line)
click to toggle source
# File lib/dragons_dream/railwayinfo.rb, line 28 def get_line(line) enc_line = URI.encode(line) reqUrl = "#{@baseUrl}?method=getStations&line=#{enc_line}" request(reqUrl) rescue raise ArgumentError, "line must not be nil" if line.nil? raise end
get_stations(name)
click to toggle source
# File lib/dragons_dream/railwayinfo.rb, line 19 def get_stations(name) enc_name = URI.encode(name) reqUrl = "#{@baseUrl}?method=getStations&name=#{enc_name}" request(reqUrl) rescue raise ArgumentError, "name of station must not be nil" if name.nil? raise end
get_stations_with_line(name, line)
click to toggle source
# File lib/dragons_dream/railwayinfo.rb, line 37 def get_stations_with_line(name, line) enc_name = URI.encode(name) enc_line = URI.encode(line) reqUrl = "#{@baseUrl}?method=getStations&line=#{enc_line}&name=#{enc_name}" request(reqUrl) rescue raise ArgumentError, "name and line must not be nil" if name.nil? || line.nil? raise end
request(url)
click to toggle source
# File lib/dragons_dream/railwayinfo.rb, line 47 def request(url) response = Net::HTTP.get_response(URI.parse(url)) JSON.parse(response.body)["response"] end