Sha256: 6e2a54d8caad2bcbe3f4c529721c129f3b204b6c41c2a13b8d8540966f685a8f

Contents?: true

Size: 1.18 KB

Versions: 112

Compression:

Stored size: 1.18 KB

Contents

module Sportradar
  module Api
    class Nfl::Season < Data
      attr_accessor :response, :id, :year, :type, :name, :weeks, :injuries, :team, :conferences, :divisions, :teams

      def initialize(data)
        @response = data
        @id = data["id"]
        @year = data["year"]
        @type = data["type"]
        @name = data["name"]
        @team = Sportradar::Api::Nfl::Team.new(data["team"]) if data["team"].is_a?(Hash)
        @injuries = data["injuries"]["team"].map {|team| Sportradar::Api::Nfl::Team.new team } if data["injuries"] && data["injuries"]["team"]
        @weeks = parse_into_array(selector: response["week"], klass: Sportradar::Api::Nfl::Week)  if response["week"]
        @conferences = parse_into_array(selector: response["conference"], klass: Sportradar::Api::Nfl::Conference)  if response["conference"]
        @divisions = conferences.flat_map(&:divisions) if conferences&.all? { |conference| conference.divisions }
        @divisions ||= parse_into_array(selector: response["division"], klass: Sportradar::Api::Nfl::Division)  if response["division"]
        @teams = @divisions.flat_map(&:teams) if divisions&.all? {|division| division.teams }
      end

    end
  end
end

Version data entries

112 entries across 112 versions & 1 rubygems

Version Path
sportradar-api-0.9.55 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.54 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.53 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.52 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.51 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.50 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.49 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.48 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.47 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.46 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.45 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.41 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.40 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.39 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.38 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.37 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.36 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.35 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.34 lib/sportradar/api/nfl/season.rb
sportradar-api-0.9.33 lib/sportradar/api/nfl/season.rb