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