class Sorare::Rewards::GameWeek
GameWeek
stores the reward data of a game week
Attributes
salt[R]
Public Class Methods
new(data: nil, hash: nil, salt: nil)
click to toggle source
# File lib/sorare/rewards/game_week.rb, line 16 def initialize(data: nil, hash: nil, salt: nil) @uri = URI("#{Sorare::Rewards.configuration.gateway}#{hash}") @data = data @salt = salt end
Public Instance Methods
card_rewards()
click to toggle source
# File lib/sorare/rewards/game_week.rb, line 57 def card_rewards @card_rewards ||= Sorare::Rewards::Pick.call!(reward_allocations.to_h) end
config()
click to toggle source
# File lib/sorare/rewards/game_week.rb, line 32 def config @config ||= GameWeekConfig.new(@data['config']) end
data()
click to toggle source
# File lib/sorare/rewards/game_week.rb, line 28 def data @data ||= JSON.parse(::Net::HTTP.get(@uri)) end
each_league() { |league(league_name)| ... }
click to toggle source
# File lib/sorare/rewards/game_week.rb, line 43 def each_league (leagues || {}).each_key do |league_name| return to_enum(:each_league) unless block_given? yield(league(league_name)) end end
league(name)
click to toggle source
# File lib/sorare/rewards/game_week.rb, line 61 def league(name) raise 'Unknown league' unless (leagues || {})[name] League.new( game_week: self, name: name, config: leagues[name], supply: supply[leagues.dig(name, 'pool_supply')] ) end
player(slug)
click to toggle source
# File lib/sorare/rewards/game_week.rb, line 69 def player(slug) Player.new(slug, self) end
reward_allocations()
click to toggle source
# File lib/sorare/rewards/game_week.rb, line 51 def reward_allocations raise 'Salt required' unless salt @reward_allocations ||= Sorare::Rewards::Build.call!(game_week: self, salt: salt) end
supply_for(league, rarity: nil, player: nil)
click to toggle source
# File lib/sorare/rewards/game_week.rb, line 36 def supply_for(league, rarity: nil, player: nil) return (supply.dig(league, rarity, player) || 0) if rarity && player return (supply.dig(league, rarity) || {}) if rarity supply[league] || {} end