football-manager 0.1.8 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OWE2N2VmMDMxYmY2OTgzMTg1NWEzYzU3MzZjYjJiYmQ2YTIzMGE5ZQ==
5
+ data.tar.gz: !binary |-
6
+ MWZjMWEwNWYwZDFmOGNhYzQ4MTY3OWFhMWM0NTZhOTgwMWFjNmY2Zg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ ODY3N2I4NjQ5YjRhM2VjMjY2ZmYwNmZkM2RhZWU5OWM0NWM3YWMwNDI5NzAx
10
+ NzU4ZDc4ZDhmNmE0Mzk4ZTNhYmQ2YjU4NjllNGE3MmY5ZWU1ODAwYzBlMmQ3
11
+ NTA4ZmI1MjBkYWY5MDhlNDNlN2MwNWM2ZjYxY2FjNDlmNWVjZWQ=
12
+ data.tar.gz: !binary |-
13
+ YTc1NGI5NjBlYWY0OTdkZjkzZGY2NTMzNzYwNTQwN2IyYTdlMmRiNzE5YzAy
14
+ MzQyNGRiOWQ3NGEzOTZkMjRlNGQwZDI4ZDk4MDZlZmI2YmQ3NDU4ZTIzN2I0
15
+ OGE4YTRiYzkyYmM2ZjZjOTA3MDg5MGVhODhhYmZiMDcwYjdhNDU=
data/README.md CHANGED
@@ -5,10 +5,10 @@ I am a tool to help you pick the fairest teams for your game
5
5
  ## HOW TO INSTALL ME
6
6
 
7
7
  gem install football-manager
8
-
8
+
9
9
  ## HOW TO USE ME
10
10
 
11
- 1) Create a file with all your available players, including their names and skill level (1-5)
11
+ 1) Create a file with all your available players, including their names and skill level (1-9)
12
12
 
13
13
  e.g. players.txt
14
14
 
@@ -22,7 +22,7 @@ e.g. players.txt
22
22
  2) Run me from the command line
23
23
 
24
24
  football-manager -f players.txt
25
-
25
+
26
26
  3) Two fair teams should now be output
27
27
 
28
28
  Team Bibs have 3 players and 11 points
@@ -14,13 +14,13 @@ Feature: Pick balanced teams
14
14
  Scenario: 5 players are available
15
15
  Given the following players
16
16
  | name | skill |
17
- | player 1 | 5 |
18
- | player 2 | 5 |
17
+ | player 1 | 7 |
18
+ | player 2 | 7 |
19
19
  | player 3 | 1 |
20
20
  | player 4 | 1 |
21
21
  | player 5 | 3 |
22
22
  | #player 6 | 3 |
23
23
 
24
24
  When I pick the teams
25
- Then one team should have 3 players and 7 points
26
- And one team should have 2 players and 8 points
25
+ Then one team should have 3 players and 9 points
26
+ And one team should have 2 players and 10 points
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
13
13
  ## If your rubyforge_project name is different, then edit it and comment out
14
14
  ## the sub! line in the Rakefile
15
15
  s.name = 'football-manager'
16
- s.version = '0.1.8'
17
- s.date = '2012-06-30'
16
+ s.version = '1.0.1'
17
+ s.date = '2013-04-30'
18
18
  s.rubyforge_project = 'football-manager'
19
19
 
20
20
  ## Make sure your summary is short. The description may be as long
@@ -1,5 +1,5 @@
1
1
  module FOOTBALLMANAGER
2
- VERSION = '0.1.8'
2
+ VERSION = '1.0.1'
3
3
  end
4
4
 
5
5
  require File.dirname(__FILE__) + '/football-manager/game'
@@ -15,7 +15,7 @@ module FootballManager
15
15
 
16
16
  private
17
17
  def player_pattern
18
- /^\s*([a-zA-Z0-9]+\s?[a-zA-Z0-9]+)\s*,\s*([1-5]{1})\s*$/
18
+ /^\s*([a-zA-Z0-9]+\s?[a-zA-Z0-9]+)\s*,\s*([1-9]{1})\s*$/
19
19
  end
20
20
 
21
21
  def name
@@ -16,7 +16,7 @@ module FootballManager
16
16
 
17
17
  private
18
18
  def self.players_in_descending_order(players)
19
- 5.downto(1).collect do |i|
19
+ 9.downto(1).collect do |i|
20
20
  players.select { |player| player.skill == i }.sort_by {rand}
21
21
  end.flatten!
22
22
  end
@@ -5,11 +5,11 @@ describe FootballManager::PlayersCreator do
5
5
 
6
6
  describe 'create_players' do
7
7
  let(:player_1) { 'player 1, 5' }
8
- let(:player_2) { 'player 2, 5' }
8
+ let(:player_2) { 'player 2, 7' }
9
9
  let(:player_1_name) { 'player 1' }
10
10
  let(:player_2_name) { 'player 2' }
11
11
  let(:player_1_skill) { '5' }
12
- let(:player_2_skill) { '5' }
12
+ let(:player_2_skill) { '7' }
13
13
  let(:player_data) { [player_1, player_2, ''] }
14
14
 
15
15
  it 'iterate through the player details, creating new players' do
@@ -24,11 +24,11 @@ describe FootballManager::TeamPicker do
24
24
  end
25
25
 
26
26
  context 'for 5 players with a total of 15 points' do
27
- let(:player_with_5_skill) { double('player 5', :skill => 5) }
27
+ let(:player_with_7_skill) { double('player 5', :skill => 7) }
28
28
  let(:player_with_1_skill) { double('player 1', :skill => 1) }
29
29
  let(:player_with_3_skill) { double('player 3', :skill => 3) }
30
- let(:players) { [ player_with_5_skill,
31
- player_with_5_skill,
30
+ let(:players) { [ player_with_7_skill,
31
+ player_with_7_skill,
32
32
  player_with_1_skill,
33
33
  player_with_1_skill,
34
34
  player_with_3_skill] }
@@ -38,11 +38,11 @@ describe FootballManager::TeamPicker do
38
38
  before(:each) do
39
39
  FootballManager::Team.should_receive(:new).twice.and_return(team_a, team_b)
40
40
  team_a.should_receive(:empty?).exactly(5).times.and_return(true, false, false, false, false)
41
- team_a.should_receive(:points).exactly(4).times.and_return(5, 5, 8, 8)
42
- team_b.should_receive(:points).exactly(4).times.and_return(0, 5, 6, 7)
43
- team_a.should_receive(:<<).once.with(player_with_5_skill)
41
+ team_a.should_receive(:points).exactly(4).times.and_return(7, 7, 10, 10)
42
+ team_b.should_receive(:points).exactly(4).times.and_return(0, 7, 8, 9)
43
+ team_a.should_receive(:<<).once.with(player_with_7_skill)
44
44
  team_a.should_receive(:<<).once.with(player_with_3_skill)
45
- team_b.should_receive(:<<).once.with(player_with_5_skill)
45
+ team_b.should_receive(:<<).once.with(player_with_7_skill)
46
46
  team_b.should_receive(:<<).once.with(player_with_1_skill)
47
47
  team_b.should_receive(:<<).once.with(player_with_1_skill)
48
48
  end
metadata CHANGED
@@ -1,49 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: football-manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
5
- prerelease:
4
+ version: 1.0.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - James Shipton
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-06-30 00:00:00.000000000 Z
11
+ date: 2013-04-30 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: aruba
16
- requirement: &70136430197380 !ruby/object:Gem::Requirement
17
- none: false
15
+ requirement: !ruby/object:Gem::Requirement
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0.4'
22
20
  type: :development
23
21
  prerelease: false
24
- version_requirements: *70136430197380
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '0.4'
25
27
  - !ruby/object:Gem::Dependency
26
28
  name: cucumber
27
- requirement: &70136430210940 !ruby/object:Gem::Requirement
28
- none: false
29
+ requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - ~>
31
32
  - !ruby/object:Gem::Version
32
33
  version: '1.1'
33
34
  type: :development
34
35
  prerelease: false
35
- version_requirements: *70136430210940
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.1'
36
41
  - !ruby/object:Gem::Dependency
37
42
  name: rake
38
- requirement: &70136430210320 !ruby/object:Gem::Requirement
39
- none: false
43
+ requirement: !ruby/object:Gem::Requirement
40
44
  requirements:
41
45
  - - ! '>='
42
46
  - !ruby/object:Gem::Version
43
47
  version: '0'
44
48
  type: :development
45
49
  prerelease: false
46
- version_requirements: *70136430210320
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
47
55
  description: Picks two fair teams based on player skill
48
56
  email: ionysis@gmail.com
49
57
  executables:
@@ -80,29 +88,25 @@ files:
80
88
  - spec/spec_helper.rb
81
89
  homepage: https://github.com/jamesshipton/football-manager
82
90
  licenses: []
91
+ metadata: {}
83
92
  post_install_message:
84
93
  rdoc_options:
85
94
  - --charset=UTF-8
86
95
  require_paths:
87
96
  - lib
88
97
  required_ruby_version: !ruby/object:Gem::Requirement
89
- none: false
90
98
  requirements:
91
99
  - - ! '>='
92
100
  - !ruby/object:Gem::Version
93
101
  version: '0'
94
- segments:
95
- - 0
96
- hash: -2434985017905887514
97
102
  required_rubygems_version: !ruby/object:Gem::Requirement
98
- none: false
99
103
  requirements:
100
104
  - - ! '>='
101
105
  - !ruby/object:Gem::Version
102
106
  version: '0'
103
107
  requirements: []
104
108
  rubyforge_project: football-manager
105
- rubygems_version: 1.8.10
109
+ rubygems_version: 2.0.3
106
110
  signing_key:
107
111
  specification_version: 2
108
112
  summary: Picks two fair teams based on player skill