Class: SodaXmlTeam::Schedule
- Inherits:
-
Object
- Object
- SodaXmlTeam::Schedule
- Defined in:
- lib/soda_xml_team/schedule.rb
Overview
Schedule class
Class Method Summary collapse
-
.parse_schedule(document = {}) ⇒ Object
Parses schedule documents into hashes - document: a Nokegiri::XML::Document.
Class Method Details
.parse_schedule(document = {}) ⇒ Object
Parses schedule documents into hashes
-
document: a Nokegiri::XML::Document
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/soda_xml_team/schedule.rb', line 12 def self.parse_schedule(document = {}) output = [] fail 'Invalid XML schedule.' unless document.is_a? Nokogiri::XML::Document document.css('schedule sports-event').each do |event| row = {} event.css('event-metadata').each do || next if ['event-key'].empty? || ['start-date-time'].empty? row[:event_key] = ['event-key'] row[:start_date_time] = DateTime.parse(['start-date-time']) row[:time_certainty] = ['time-certainty'] .css('site name').each do || row[:site] = ['full'] end end event.css('team team-metadata[alignment="away"]').each do |away_team| team_name = away_team.css('name').first row[:away_team_id] = away_team['team-key'] row[:away_team] = "#{team_name['first']} #{team_name['last']}" end event.css('team team-metadata[alignment="home"]').each do |home_team| team_name = home_team.css('name').first row[:home_team_id] = home_team['team-key'] row[:home_team] = "#{team_name['first']} #{team_name['last']}" end output << row end output end |