basketball 0.0.11 → 0.0.12
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/lib/basketball/app/room_repository.rb +6 -2
- data/lib/basketball/draft/room.rb +31 -26
- data/lib/basketball/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3afeb30a56e0bd82eebf0d44278686fe638130ad3c92fec1253cdd550566bbfd
|
|
4
|
+
data.tar.gz: 26c3668f23cea16dba950bb50dbb2e786e3b49e29651517ca4117957ca4cbed1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8772022a69960076cb3296be4e5b618199e907855393486bafafd120f2a8c34fae5ebbdd0ed9202b43b3a225b0fb2952a98c634e906c84ff710272a967af577b
|
|
7
|
+
data.tar.gz: a6bf8bdda2e7962d0ca200ab6f64b5ecd821faaae4aa438e579f9d569034f3df030be55177fdacf782b0531d00c9a868df3dbda7f34d69e8d5dd07aafa1ce9a0
|
|
@@ -46,7 +46,9 @@ module Basketball
|
|
|
46
46
|
def serialize_front_office(front_office)
|
|
47
47
|
{
|
|
48
48
|
id: front_office.id,
|
|
49
|
-
risk_level: front_office.risk_level
|
|
49
|
+
risk_level: front_office.risk_level,
|
|
50
|
+
prioritized_positions: front_office.prioritized_positions.map(&:code),
|
|
51
|
+
star_level: front_office.star_level
|
|
50
52
|
}
|
|
51
53
|
end
|
|
52
54
|
|
|
@@ -96,7 +98,9 @@ module Basketball
|
|
|
96
98
|
def deserialize_front_office(hash)
|
|
97
99
|
Draft::FrontOffice.new(
|
|
98
100
|
id: hash[:id],
|
|
99
|
-
risk_level: hash[:risk_level]
|
|
101
|
+
risk_level: hash[:risk_level].to_i,
|
|
102
|
+
prioritized_positions: (hash[:prioritized_positions] || []).map { |c| Org::Position.new(c) },
|
|
103
|
+
star_level: hash[:star_level].to_i
|
|
100
104
|
)
|
|
101
105
|
end
|
|
102
106
|
|
|
@@ -5,6 +5,7 @@ module Basketball
|
|
|
5
5
|
# Main pick-by-pick iterator object which will round-robin rotate team selections.
|
|
6
6
|
class Room < Entity
|
|
7
7
|
class AlreadyPickedError < StandardError; end
|
|
8
|
+
class DraftUnderwayError < StandardError; end
|
|
8
9
|
class EndOfDraftError < StandardError; end
|
|
9
10
|
class EventOutOfOrderError < StandardError; end
|
|
10
11
|
class FrontOfficeAlreadyRegisteredError < StandardError; end
|
|
@@ -110,6 +111,36 @@ module Basketball
|
|
|
110
111
|
players - drafted_players
|
|
111
112
|
end
|
|
112
113
|
|
|
114
|
+
### Builder Methods
|
|
115
|
+
|
|
116
|
+
def add_player!(player)
|
|
117
|
+
raise DraftUnderwayError, 'draft already started!' if events.any?
|
|
118
|
+
raise ArgumentError, 'player required' unless player
|
|
119
|
+
raise PlayerAlreadyAddedError, "#{player} already added" if player?(player)
|
|
120
|
+
|
|
121
|
+
players << player
|
|
122
|
+
|
|
123
|
+
self
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def register!(front_office)
|
|
127
|
+
raise DraftUnderwayError, 'draft already started!' if events.any?
|
|
128
|
+
raise ArgumentError, 'front_office required' unless front_office
|
|
129
|
+
raise FrontOfficeAlreadyRegisteredError, "#{front_office} already registered" if registered?(front_office)
|
|
130
|
+
|
|
131
|
+
front_offices << front_office
|
|
132
|
+
|
|
133
|
+
self
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
def registered?(front_office)
|
|
137
|
+
front_offices.include?(front_office)
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
def player?(player)
|
|
141
|
+
players.include?(player)
|
|
142
|
+
end
|
|
143
|
+
|
|
113
144
|
### Event Methods
|
|
114
145
|
|
|
115
146
|
def skip!
|
|
@@ -188,32 +219,6 @@ module Basketball
|
|
|
188
219
|
def internal_pick
|
|
189
220
|
events.length + 1
|
|
190
221
|
end
|
|
191
|
-
|
|
192
|
-
def registered?(front_office)
|
|
193
|
-
front_offices.include?(front_office)
|
|
194
|
-
end
|
|
195
|
-
|
|
196
|
-
def register!(front_office)
|
|
197
|
-
raise ArgumentError, 'front_office required' unless front_office
|
|
198
|
-
raise FrontOfficeAlreadyRegisteredError, "#{front_office} already registered" if registered?(front_office)
|
|
199
|
-
|
|
200
|
-
front_offices << front_office
|
|
201
|
-
|
|
202
|
-
self
|
|
203
|
-
end
|
|
204
|
-
|
|
205
|
-
def player?(player)
|
|
206
|
-
players.include?(player)
|
|
207
|
-
end
|
|
208
|
-
|
|
209
|
-
def add_player!(player)
|
|
210
|
-
raise ArgumentError, 'player required' unless player
|
|
211
|
-
raise PlayerAlreadyAddedError, "#{player} already added" if player?(player)
|
|
212
|
-
|
|
213
|
-
players << player
|
|
214
|
-
|
|
215
|
-
self
|
|
216
|
-
end
|
|
217
222
|
end
|
|
218
223
|
end
|
|
219
224
|
end
|
data/lib/basketball/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: basketball
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.12
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Matthew Ruggio
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-06-
|
|
11
|
+
date: 2023-06-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: slop
|