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.10.55 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.54 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.53 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.52 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.51 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.50 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.49 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.48 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.47 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.46 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.45 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.44 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.43 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.42 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.41 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.40 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.39 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.38 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.37 lib/sportradar/api/nfl/season.rb
sportradar-api-0.10.36 lib/sportradar/api/nfl/season.rb