Sha256: f4254804b7b93f2be29054ba4ae739d55c02a57d2af86196f2ad2198a5a6ea1c

Contents?: true

Size: 708 Bytes

Versions: 19

Compression:

Stored size: 708 Bytes

Contents

# frozen_string_literal: true

module Basketball
  module Draft
    # A Scout knows how to process a set of players and figure out who the top prospects are.
    class Scout
      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
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
basketball-0.0.27 lib/basketball/draft/scout.rb
basketball-0.0.26 lib/basketball/draft/scout.rb
basketball-0.0.25 lib/basketball/draft/scout.rb
basketball-0.0.24 lib/basketball/draft/scout.rb
basketball-0.0.23 lib/basketball/draft/scout.rb
basketball-0.0.22 lib/basketball/draft/scout.rb
basketball-0.0.21 lib/basketball/draft/scout.rb
basketball-0.0.20 lib/basketball/draft/scout.rb
basketball-0.0.19 lib/basketball/draft/scout.rb
basketball-0.0.18 lib/basketball/draft/scout.rb
basketball-0.0.17 lib/basketball/draft/scout.rb
basketball-0.0.16 lib/basketball/draft/scout.rb
basketball-0.0.15 lib/basketball/draft/scout.rb
basketball-0.0.14 lib/basketball/draft/scout.rb
basketball-0.0.13 lib/basketball/draft/scout.rb
basketball-0.0.12 lib/basketball/draft/scout.rb
basketball-0.0.11 lib/basketball/draft/scout.rb
basketball-0.0.10 lib/basketball/draft/scout.rb
basketball-0.0.9 lib/basketball/draft/scout.rb