Sha256: eb3a25e4ae6d801daa5cd946931dde1a15c0c3674e3fc4f55e7017c7fd1270c6

Contents?: true

Size: 1.05 KB

Versions: 9

Compression:

Stored size: 1.05 KB

Contents

module SportsDataApi
  module Mlb
    class Game
      attr_reader :id, :scheduled, :home, :home_team, :away,
        :away_team, :status, :venue, :broadcast, :year, :season,
        :date, :quarter, :clock, :rescheduled_reason, :rescheduled_from

      def initialize(args={})
        xml = args.fetch(:xml)
        @year = args[:year] ? args[:year].to_i : nil

        xml = xml.first if xml.is_a? Nokogiri::XML::NodeSet
        if xml.is_a? Nokogiri::XML::Element
          @id = xml['id']
          @scheduled = Time.parse(xml.xpath('scheduled_start').children.first.to_s)
          @home = xml['home']
          @away = xml['visitor']
          @status = xml['status']
          @venue = xml['venue']
          @broadcast = Broadcast.new(xml.xpath('broadcast'))
          rescheduled_from = xml.xpath('rescheduled_from')
          if rescheduled_from.count > 0
            @rescheduled_reason = rescheduled_from.first['reason']
            @rescheduled_from = Time.parse(rescheduled_from.first.children.first.to_s)
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
sports_data_api-0.10.1 lib/sports_data_api/mlb/game.rb
sports_data_api-0.10.0 lib/sports_data_api/mlb/game.rb
sports_data_api-0.9.2 lib/sports_data_api/mlb/game.rb
sports_data_api-0.2.4 lib/sports_data_api/mlb/game.rb
sports_data_api-0.2.3 lib/sports_data_api/mlb/game.rb
sports_data_api-0.2.2 lib/sports_data_api/mlb/game.rb
sports_data_api-0.2.1 lib/sports_data_api/mlb/game.rb
sports_data_api-0.2.0 lib/sports_data_api/mlb/game.rb
sports_data_api-0.1.0 lib/sports_data_api/mlb/game.rb