basketball 0.0.20 → 0.0.21

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: 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