basketball 0.0.20 → 0.0.21

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: 6742218e05c042c3cfe5c5ae155b4deaa22a8c1c1aeeac9c3ef2cdb69c38be42
4
- data.tar.gz: 3d151a9df301c7160f0e3884ff961a984f64d5071e2081e3e01eddff557069ab
3
+ metadata.gz: 0e5c1826475c5a5d9f7ff227034e533c17998a9dff9a1f71107eed48dd5cf176
4
+ data.tar.gz: edd7a5e117b6f5f17288220f788dc0c4f8a23f69d095d354521ed3834b1c3261
5
5
  SHA512:
6
- metadata.gz: d1a696a182a4b196030c79926591149d864c744fb27eab6c114800ee066f7edfb9cb340efda8ba96a96322d1bbf1dcf452e9777b678a91c71e9c31523743f165
7
- data.tar.gz: 4aac8527166debde576f7c91ff7e40aaf7bde42ec33214f96e8f86b66a174d5d8f65db31cca44be04c0c003f1ae631ef0454b8f650ad66957c95eff0b9494133
6
+ metadata.gz: 76d04eb4fded2ca78f37f6b19cbed042beb8f206470e065bbe314a9cf67d2976a3283fab12c9de3f3932226098180bec18fb600c6cdab18fac030f75e3bf7687
7
+ data.tar.gz: 51069a1317e825eda9adfd980448651dc6e8f415b94e70709b4f9bea4c7f3a6569206d8b42fd32c55b6e9261973b47c7e735f3a3d651bdaace110fa2772c2cf9
@@ -16,16 +16,18 @@ module Basketball
16
16
 
17
17
  private_constant :DEFAULT_MAX_STAR_LEVEL, :DEFAULT_MAX_RISK_LEVEL, :MAX_POSITIONS
18
18
 
19
- attr_reader :prioritized_positions, :risk_level, :star_level, :scout
19
+ attr_reader :name, :prioritized_positions, :risk_level, :star_level, :scout
20
20
 
21
21
  def initialize(
22
22
  id:,
23
+ name: '',
23
24
  prioritized_positions: [],
24
25
  risk_level: rand(0..DEFAULT_MAX_RISK_LEVEL),
25
26
  star_level: rand(0..DEFAULT_MAX_STAR_LEVEL)
26
27
  )
27
28
  super(id)
28
29
 
30
+ @name = name.to_s
29
31
  @risk_level = risk_level.to_i
30
32
  @star_level = star_level.to_i
31
33
  @prioritized_positions = prioritized_positions
@@ -6,6 +6,9 @@ module Basketball
6
6
  # and a collection of Player objects.
7
7
  class Team < Entity
8
8
  class PlayerNotSignedError < StandardError; end
9
+ class MaxPlayerCountError < StandardError; end
10
+
11
+ MAX_PLAYER_COUNT = 18
9
12
 
10
13
  attr_reader :players, :name
11
14
 
@@ -41,6 +44,10 @@ module Basketball
41
44
  raise ArgumentError, 'player is required' unless player
42
45
  raise PlayerAlreadySignedError, "#{player} already signed by #{self}" if signed?(player)
43
46
 
47
+ if (players.length + 1) >= MAX_PLAYER_COUNT
48
+ raise MaxPlayerCountError, "max player count reached: #{MAX_PLAYER_COUNT}"
49
+ end
50
+
44
51
  players << player
45
52
 
46
53
  self
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Basketball
4
- VERSION = '0.0.20'
4
+ VERSION = '0.0.21'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: basketball
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Ruggio