class Sorare::Rewards::Tiers::QualifySupply

QualifySupply qualifies a supply sorted by rank in tiers Returns an array of supply per tier

Public Instance Methods

call() click to toggle source
# File lib/sorare/rewards/interactors/tiers/qualify_supply.rb, line 15
def call
  context.count = sorted_supply.values.sum { |p| p['supply'] }
  context.supply = qualified_supply
end
qualified_supply() click to toggle source
# File lib/sorare/rewards/interactors/tiers/qualify_supply.rb, line 20
def qualified_supply
  return qualify! unless sorted_supply.values.first&.dig('tier')

  tiers = Array.new(Sorare::Rewards.configuration.tiers, 0)
  sorted_supply.each_value do |data|
    tiers[data['tier'].to_i] += data['supply']
  end

  tiers
end
qualify!() click to toggle source
# File lib/sorare/rewards/interactors/tiers/qualify_supply.rb, line 31
def qualify!
  QualifyPlayers.call!(sorted_supply: sorted_supply).players.map do |tier_players|
    tier_players.sum { |p| sorted_supply[p]['supply'] }
  end
end