Class: Basketball::Draft::Scout

Inherits:
Object
  • Object
show all
Defined in:
lib/basketball/draft/scout.rb

Overview

A Scout knows how to process a set of players and figure out who the top prospects are.

Instance Method Summary collapse

Instance Method Details

#top_for(players: [], position: nil, exclude_positions: []) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/basketball/draft/scout.rb', line 7

def top_for(players: [], position: nil, exclude_positions: [])
  filtered_players = players

  if position
    filtered_players = filtered_players.select do |player|
      player.position == position
    end
  end

  if exclude_positions.any?
    filtered_players = filtered_players.reject do |player|
      exclude_positions.include?(player.position)
    end
  end

  filtered_players.sort_by { |p| [p.overall, p.id] }.reverse
end