class Sorare::Rewards::Supply::ComputeForQuality
ComputeForQuality
computes the rewardable supply for a given quality between the divisions of a league
Public Instance Methods
call()
click to toggle source
# File lib/sorare/rewards/interactors/supply/compute_for_quality.rb, line 14 def call context.quality_supply = total_supply.zero? ? 0 : quality_supply end
quality_supply()
click to toggle source
# File lib/sorare/rewards/interactors/supply/compute_for_quality.rb, line 18 def quality_supply plain, extra = (tier_supply.to_f * rewardable).divmod(total_supply) plain + remaining_supply(plain, extra) end
remaining_supply(plain, extra)
click to toggle source
# File lib/sorare/rewards/interactors/supply/compute_for_quality.rb, line 24 def remaining_supply(plain, extra) reward_probability = randomizer.rand return 0 if rewarded.sum + plain >= rewardable return 0 if extra.zero? return 0 if reward_probability > (extra.to_f / total_supply) 1 end