basketball 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
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