Sha256: a575070a35b2b1816906a7b001333d5e53c96a50e1709cc76882ad2fcdaa3e93
Contents?: true
Size: 1017 Bytes
Versions: 3
Compression:
Stored size: 1017 Bytes
Contents
module Sportradar module Api class Nfl::DepthChart < Data include Enumerable attr_accessor :response, :chart def initialize(data) generate_chart(data) end def team(number) teams[number] end def each populate_teams teams.each { |team| yield team } end private def teams @teams ||= Hash.new { |hash, number| hash[number] = generate_team(number) } end def populate_teams (1..3).each(&method(:team)) if teams.empty? end def generate_team(number) @chart.each_with_object({}) do |(pos_name, groups), memo| memo[pos_name] = groups[number.to_s] end end def generate_chart(data) @chart = data['position'].each_with_object({}) do |position, memo| players = position['player'].map { |h| Sportradar::Api::Nfl::Player.new(h) } memo[position['name']] = players.group_by(&:depth) end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
sportradar-api-0.1.38 | lib/sportradar/api/nfl/depth_chart.rb |
sportradar-api-0.1.37 | lib/sportradar/api/nfl/depth_chart.rb |
sportradar-api-0.1.36 | lib/sportradar/api/nfl/depth_chart.rb |