Class: IRail::NMBS::DocumentParser

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby-irail/packages/nmbs/parser/document_parser.rb

Constant Summary collapse

STATION_XPATH =
"//station"
CONNECTION_XPATH =
"//connection"
VEHICLE_XPATH =
"//vehicleinformation"

Class Method Summary collapse

Class Method Details

.parse_connections(xml_string) ⇒ Object



13
14
15
16
17
# File 'lib/ruby-irail/packages/nmbs/parser/document_parser.rb', line 13

def self.parse_connections(xml_string)
  xml_connections(xml_string).inject([]) do |connections, xml_connection|
    connections << IRail::NMBS::Connection.from_xml(xml_connection.to_s)
  end
end

.parse_liveboard(xml_string) ⇒ Object



24
25
26
# File 'lib/ruby-irail/packages/nmbs/parser/document_parser.rb', line 24

def self.parse_liveboard(xml_string)
  IRail::NMBS::Liveboard.from_xml(xml_string)
end

.parse_stations(xml_string) ⇒ Object



7
8
9
10
11
# File 'lib/ruby-irail/packages/nmbs/parser/document_parser.rb', line 7

def self.parse_stations(xml_string)
  xml_stations(xml_string).inject([]) do |stations, xml_station|
    stations << IRail::NMBS::Station.from_xml(xml_station.to_s)
  end
end

.parse_vehicle(xml_string) ⇒ Object



19
20
21
22
# File 'lib/ruby-irail/packages/nmbs/parser/document_parser.rb', line 19

def self.parse_vehicle(xml_string)
  vehicle = xml_vehicle(xml_string)
  IRail::NMBS::VehicleInformation.from_xml(vehicle.to_s)
end

.xml_connections(xml_string) ⇒ Object



38
39
40
41
# File 'lib/ruby-irail/packages/nmbs/parser/document_parser.rb', line 38

def self.xml_connections(xml_string)
  xml_payload = Nokogiri::XML(xml_string)
  xml_payload.xpath(CONNECTION_XPATH)
end

.xml_stations(xml_string) ⇒ Object



33
34
35
36
# File 'lib/ruby-irail/packages/nmbs/parser/document_parser.rb', line 33

def self.xml_stations(xml_string)
  xml_payload = Nokogiri::XML(xml_string)
  xml_payload.xpath(STATION_XPATH)
end

.xml_vehicle(xml_string) ⇒ Object



28
29
30
31
# File 'lib/ruby-irail/packages/nmbs/parser/document_parser.rb', line 28

def self.xml_vehicle(xml_string)
  xml_payload = Nokogiri::XML(xml_string)
  xml_payload.xpath(VEHICLE_XPATH)
end