sorare-rewards 1.3.0.beta0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/Gemfile.lock +6 -16
- data/README.md +2 -5
- data/lib/sorare/rewards/game_week.rb +3 -4
- data/lib/sorare/rewards/interactors/cards/pick_for_league.rb +2 -1
- data/lib/sorare/rewards/league.rb +10 -2
- data/lib/sorare/rewards/version.rb +1 -1
- data/lib/sorare/rewards.rb +0 -1
- data/sorare-rewards.gemspec +0 -3
- metadata +9 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f6d8d21c6c8da818dfecacdb8ff179dfa81e39d01f8470f1009b36afe45a06c2
|
4
|
+
data.tar.gz: 0303c1e4e365b4879712cab90da1553e60cc07b78d0810b2790720e31365be2a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5facf11a38d2ec192177f46f4b13b2a3f4d63379b8d586266255f5dae906b7a0ed660d0cf3166b68399c1269dd271e0f63711569744587839ce63b52934416ee
|
7
|
+
data.tar.gz: de7c3eed4459e498e528c419ade463e1972082d251559ce75908152ca6869e9535f2334e86604fa51a79c1dbc2de09efebbe0e2eee4450b213e37a8c8da3df54
|
data/CHANGELOG.md
CHANGED
@@ -1,11 +1,29 @@
|
|
1
|
+
## [1.4.1] - 2021-12-14
|
2
|
+
|
3
|
+
### Fixes
|
4
|
+
|
5
|
+
- Fix an issue where the `config` was null when accessed on a `GameWeek` with no loaded data
|
6
|
+
|
7
|
+
## [1.4.0] - 2021-12-14
|
8
|
+
|
9
|
+
### Added
|
10
|
+
|
11
|
+
- Added support for rarity based `rewards_ratio_per_cards_in_circulation`
|
12
|
+
|
1
13
|
## [1.3.0] - 2021-11-02
|
14
|
+
|
2
15
|
### Breaking
|
16
|
+
|
3
17
|
- Removed rewards method from `GameWeek` (`card_rewards`, `cards_picked`, `reward_allocations`, `prize_pools`, `card_allocations`)
|
4
18
|
- `Picker` has been renamed to `CardPicker`
|
19
|
+
|
5
20
|
### Added
|
21
|
+
|
6
22
|
- Added a `GameWeekRewards` class that provides all rewards related methods
|
7
23
|
- Added a way to pick cards with a custom `card_allocations`
|
8
24
|
|
9
25
|
## [1.2.0] - 2021-11-02
|
26
|
+
|
10
27
|
### Added
|
28
|
+
|
11
29
|
- Enable cross leagues cooldown using `per_league` configuration flag
|
data/Gemfile.lock
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
sorare-rewards (1.
|
4
|
+
sorare-rewards (1.4.2)
|
5
5
|
activesupport (~> 6.1.4)
|
6
6
|
interactor (~> 3.1.2)
|
7
7
|
json (~> 2)
|
8
|
-
net-http (~> 0.1.1)
|
9
8
|
yaml (~> 0.2.0)
|
10
9
|
|
11
10
|
GEM
|
12
11
|
remote: https://rubygems.org/
|
13
12
|
specs:
|
14
|
-
activesupport (6.1.4.
|
13
|
+
activesupport (6.1.4.3)
|
15
14
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
16
15
|
i18n (>= 1.6, < 2)
|
17
16
|
minitest (>= 5.1)
|
@@ -20,18 +19,11 @@ GEM
|
|
20
19
|
ast (2.4.2)
|
21
20
|
concurrent-ruby (1.1.9)
|
22
21
|
diff-lcs (1.4.4)
|
23
|
-
i18n (1.8.
|
22
|
+
i18n (1.8.11)
|
24
23
|
concurrent-ruby (~> 1.0)
|
25
24
|
interactor (3.1.2)
|
26
|
-
io-wait (0.1.0)
|
27
25
|
json (2.6.0)
|
28
|
-
minitest (5.
|
29
|
-
net-http (0.1.1)
|
30
|
-
net-protocol
|
31
|
-
uri
|
32
|
-
net-protocol (0.1.2)
|
33
|
-
io-wait
|
34
|
-
timeout
|
26
|
+
minitest (5.15.0)
|
35
27
|
ostruct (0.4.0)
|
36
28
|
parallel (1.21.0)
|
37
29
|
parser (3.0.2.0)
|
@@ -69,13 +61,11 @@ GEM
|
|
69
61
|
rubocop-rspec (2.5.0)
|
70
62
|
rubocop (~> 1.19)
|
71
63
|
ruby-progressbar (1.11.0)
|
72
|
-
timeout (0.2.0)
|
73
64
|
tzinfo (2.0.4)
|
74
65
|
concurrent-ruby (~> 1.0)
|
75
66
|
unicode-display_width (2.1.0)
|
76
|
-
uri (0.11.0)
|
77
67
|
yaml (0.2.0)
|
78
|
-
zeitwerk (2.5.
|
68
|
+
zeitwerk (2.5.1)
|
79
69
|
|
80
70
|
PLATFORMS
|
81
71
|
ruby
|
@@ -90,4 +80,4 @@ DEPENDENCIES
|
|
90
80
|
sorare-rewards!
|
91
81
|
|
92
82
|
BUNDLED WITH
|
93
|
-
2.2.
|
83
|
+
2.2.30
|
data/README.md
CHANGED
@@ -10,15 +10,14 @@ gem 'sorare-rewards'
|
|
10
10
|
|
11
11
|
And then execute:
|
12
12
|
|
13
|
-
|
13
|
+
$ bundle install
|
14
14
|
|
15
15
|
Or install it yourself as:
|
16
16
|
|
17
|
-
|
17
|
+
$ gem install sorare-rewards
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
-
|
22
21
|
First you need to load a game week
|
23
22
|
|
24
23
|
```ruby
|
@@ -27,7 +26,6 @@ game_week = Sorare::Rewards::GameWeek.new(hash: 'QmbwCo1fuhRN1T2DyEQtETefsBH6yCj
|
|
27
26
|
|
28
27
|
Game Week's `hash` and `salt` can be retrieved using the GQL API, the salt is made public after the rewards have been distributed.
|
29
28
|
|
30
|
-
|
31
29
|
To compute rewards for a game week :
|
32
30
|
|
33
31
|
```ruby
|
@@ -67,7 +65,6 @@ After checking out the repo, run `bin/setup` to install dependencies. Then, run
|
|
67
65
|
|
68
66
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
69
67
|
|
70
|
-
|
71
68
|
## License
|
72
69
|
|
73
70
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'json'
|
4
|
-
require 'net/http'
|
5
4
|
require 'active_support/core_ext/module/delegation'
|
6
5
|
|
7
6
|
module Sorare
|
@@ -11,7 +10,7 @@ module Sorare
|
|
11
10
|
attr_reader :salt
|
12
11
|
|
13
12
|
def initialize(data: nil, hash: nil, salt: nil)
|
14
|
-
@uri = URI("#{Sorare::Rewards.configuration.gateway}#{hash}")
|
13
|
+
@uri = URI.parse("#{Sorare::Rewards.configuration.gateway}#{hash}")
|
15
14
|
@data = data
|
16
15
|
@salt = salt
|
17
16
|
end
|
@@ -23,11 +22,11 @@ module Sorare
|
|
23
22
|
end
|
24
23
|
|
25
24
|
def data
|
26
|
-
@data ||= JSON.parse(
|
25
|
+
@data ||= JSON.parse(@uri.open)
|
27
26
|
end
|
28
27
|
|
29
28
|
def config
|
30
|
-
@config ||= GameWeekConfig.new(
|
29
|
+
@config ||= GameWeekConfig.new(data['config'])
|
31
30
|
end
|
32
31
|
|
33
32
|
def supply_for(league, rarity: nil, player: nil)
|
@@ -19,6 +19,7 @@ module Sorare
|
|
19
19
|
|
20
20
|
delegate :league, :allocations, :pickers, to: :context
|
21
21
|
delegate :game_week, to: :league
|
22
|
+
delegate :public_seed, :salt, to: :game_week
|
22
23
|
|
23
24
|
def call
|
24
25
|
context.pickers = {}
|
@@ -48,7 +49,7 @@ module Sorare
|
|
48
49
|
end
|
49
50
|
|
50
51
|
def initialize_tier_picker(players, rarity, tier)
|
51
|
-
pickers[rarity][tier] = CardPicker.new(
|
52
|
+
pickers[rarity][tier] = CardPicker.new(public_seed, salt)
|
52
53
|
|
53
54
|
players.each do |slug, _|
|
54
55
|
pickers[rarity][tier].add_player(slug, player_supply(rarity, slug))
|
@@ -24,9 +24,17 @@ module Sorare
|
|
24
24
|
end
|
25
25
|
|
26
26
|
def cards_in_circulation_limit(rarity)
|
27
|
-
return unless cards_in_circulation&.dig(rarity) &&
|
27
|
+
return unless cards_in_circulation&.dig(rarity) && rewards_ratio_per_cards_in_circulation_for_rarity(rarity)
|
28
28
|
|
29
|
-
(cards_in_circulation[rarity] *
|
29
|
+
(cards_in_circulation[rarity] * rewards_ratio_per_cards_in_circulation_for_rarity(rarity)).floor
|
30
|
+
end
|
31
|
+
|
32
|
+
def rewards_ratio_per_cards_in_circulation_for_rarity(rarity)
|
33
|
+
if game_week.config.rewards_ratio_per_cards_in_circulation.is_a?(Hash)
|
34
|
+
return game_week.config.rewards_ratio_per_cards_in_circulation[rarity]
|
35
|
+
end
|
36
|
+
|
37
|
+
game_week.config.rewards_ratio_per_cards_in_circulation
|
30
38
|
end
|
31
39
|
|
32
40
|
def each_division_prize_pools
|
data/lib/sorare/rewards.rb
CHANGED
data/sorare-rewards.gemspec
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
require_relative 'lib/sorare/rewards/version'
|
4
4
|
|
5
|
-
# rubocop:disable Metrics/BlockLength
|
6
5
|
Gem::Specification.new do |spec|
|
7
6
|
spec.name = 'sorare-rewards'
|
8
7
|
spec.version = Sorare::Rewards::VERSION
|
@@ -33,7 +32,6 @@ Gem::Specification.new do |spec|
|
|
33
32
|
spec.add_dependency 'activesupport', '~> 6.1.4'
|
34
33
|
spec.add_dependency 'interactor', '~> 3.1.2'
|
35
34
|
spec.add_dependency 'json', '~> 2'
|
36
|
-
spec.add_dependency 'net-http', '~> 0.1.1'
|
37
35
|
spec.add_dependency 'yaml', '~> 0.2.0'
|
38
36
|
spec.add_development_dependency 'ostruct', '~> 0.4.0'
|
39
37
|
spec.add_development_dependency 'rspec', '~> 3.10'
|
@@ -41,4 +39,3 @@ Gem::Specification.new do |spec|
|
|
41
39
|
spec.add_development_dependency 'rubocop-rake', '~> 0.6.0'
|
42
40
|
spec.add_development_dependency 'rubocop-rspec', '~> 2.5.0'
|
43
41
|
end
|
44
|
-
# rubocop:enable Metrics/BlockLength
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sorare-rewards
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- pierre
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -52,20 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '2'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: net-http
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 0.1.1
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: 0.1.1
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
56
|
name: yaml
|
71
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,7 +136,7 @@ dependencies:
|
|
150
136
|
- - "~>"
|
151
137
|
- !ruby/object:Gem::Version
|
152
138
|
version: 2.5.0
|
153
|
-
description:
|
139
|
+
description:
|
154
140
|
email:
|
155
141
|
- pierre@sorare.com
|
156
142
|
executables: []
|
@@ -211,7 +197,7 @@ licenses:
|
|
211
197
|
metadata:
|
212
198
|
homepage_uri: https://gitlab.com/sorare/sorare-rewards
|
213
199
|
source_code_uri: https://gitlab.com/sorare/sorare-rewards
|
214
|
-
post_install_message:
|
200
|
+
post_install_message:
|
215
201
|
rdoc_options: []
|
216
202
|
require_paths:
|
217
203
|
- lib
|
@@ -222,12 +208,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
222
208
|
version: 2.7.1
|
223
209
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
224
210
|
requirements:
|
225
|
-
- - "
|
211
|
+
- - ">="
|
226
212
|
- !ruby/object:Gem::Version
|
227
|
-
version:
|
213
|
+
version: '0'
|
228
214
|
requirements: []
|
229
|
-
rubygems_version: 3.
|
230
|
-
signing_key:
|
215
|
+
rubygems_version: 3.3.3
|
216
|
+
signing_key:
|
231
217
|
specification_version: 4
|
232
218
|
summary: '["Sorare", "reward", "allocation", "algorithm"]'
|
233
219
|
test_files: []
|