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