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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 95fd9cb9bb1c51ed7a76e5640f5297ea463b412803bcfacf8c47ea8b9abc5b21
4
- data.tar.gz: 726e72b88fd8c81a30bfb4e47742e07fd97ba88fd86d9695852b0733ee6c0e5f
3
+ metadata.gz: 3afeb30a56e0bd82eebf0d44278686fe638130ad3c92fec1253cdd550566bbfd
4
+ data.tar.gz: 26c3668f23cea16dba950bb50dbb2e786e3b49e29651517ca4117957ca4cbed1
5
5
  SHA512:
6
- metadata.gz: b00a86aca794ea7b1ccbba172bc0fd63cfbbf4b8ff5eee2a7763f3877d8669a2b23141109fbf78461d9bd5b475e6a758381cc24c3a5d0e8b2e6dcb17f69e97bf
7
- data.tar.gz: 5b8d75ca8cb88dc6733d1453d485a9fe8842a2e98d601f3870837bf3197718d181b77a475960202320be2d92a651ed5d741719e1d90882984d6286f629d2cd6d
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Basketball
4
- VERSION = '0.0.11'
4
+ VERSION = '0.0.12'
5
5
  end
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.11
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-07 00:00:00.000000000 Z
11
+ date: 2023-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: slop