rpi-calculator 0.1.0 → 0.1.1
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 +4 -4
- data/lib/crashing_the_dance/rpi_calculator.rb +1 -0
- data/lib/crashing_the_dance/rpi_calculator/rpi.rb +1 -1
- data/lib/crashing_the_dance/rpi_calculator/version.rb +1 -1
- data/rpi-calculator.gemspec +3 -3
- data/spec/fixtures/games-onegame.csv +2 -0
- data/spec/fixtures/teams-onegame.csv +3 -0
- data/spec/lib/rpi_calculator_spec.rb +31 -0
- metadata +12 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fe9f6cbe5a2d86bdb0df8cc879ba181ccae27ce7
|
4
|
+
data.tar.gz: c497116aa966d9a8c0ded0514821e074b0439a24
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 09beefe6335bd4524e31d2fd6ffb24da1e3c115d1c040da45a7316b3807bd65b777105871644877ba13cc2675048add676a1b535e130ad860d066cd87ec32f51
|
7
|
+
data.tar.gz: 468510c00225638661f858abff7db3e0cd25bbe882060e4c39537887c454bc34081954533ff33d292ca6be368c4c1c65840e28055e800faf91df77cc313b4185
|
@@ -37,6 +37,7 @@ module CrashingTheDance
|
|
37
37
|
all = teams.inject({}) { |a, team| a[team] = [ ]; a }
|
38
38
|
games.each do |game|
|
39
39
|
# has to be a cleaner way than this
|
40
|
+
# exception if neither matches?
|
40
41
|
add_team_game all, game, game.vis_team
|
41
42
|
add_team_game all, game, game.home_team
|
42
43
|
end
|
@@ -48,7 +48,7 @@ module CrashingTheDance
|
|
48
48
|
sum_owp = games.inject(0.0) do |sum, game|
|
49
49
|
sked = opponent_schedule game.opponent, games_by_team
|
50
50
|
ow = sked.inject(0) { |wins, og| wins + og.wins }
|
51
|
-
sum + (ow.to_f / sked.count.to_f)
|
51
|
+
sum + (sked.empty? ? 0.0 : (ow.to_f / sked.count.to_f))
|
52
52
|
end
|
53
53
|
@owp = sum_owp / games.count.to_f
|
54
54
|
end
|
data/rpi-calculator.gemspec
CHANGED
@@ -19,8 +19,8 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.6"
|
22
|
-
spec.add_development_dependency "rake"
|
22
|
+
spec.add_development_dependency "rake"
|
23
23
|
spec.add_development_dependency "rspec", "~> 2.99"
|
24
|
-
spec.add_development_dependency "guard"
|
25
|
-
spec.add_development_dependency "guard-rspec"
|
24
|
+
spec.add_development_dependency "guard"
|
25
|
+
spec.add_development_dependency "guard-rspec"
|
26
26
|
end
|
@@ -20,6 +20,37 @@ describe "RPI calculator" do
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
+
context "one game played" do
|
24
|
+
before(:each) do
|
25
|
+
@teams = teams_fixture 'onegame'
|
26
|
+
games = games_fixture 'onegame'
|
27
|
+
@rpi = CrashingTheDance::RpiCalculator.calculate @teams, games
|
28
|
+
end
|
29
|
+
|
30
|
+
it "calculates the right win/loss record" do
|
31
|
+
valpo = @rpi.find { |team| team.team.name.eql? "Valparaiso" }
|
32
|
+
expect(valpo.wins).to eq(1)
|
33
|
+
expect(valpo.losses).to eq(0)
|
34
|
+
expect(valpo.win_percentage).to be_within(0.0001).of(1.0000)
|
35
|
+
end
|
36
|
+
|
37
|
+
it "calculates the RPI OWP" do
|
38
|
+
valpo = @rpi.find { |team| team.team.name.eql? "Valparaiso" }
|
39
|
+
expect(valpo.owp).to be_within(0.0001).of(0.0)
|
40
|
+
end
|
41
|
+
|
42
|
+
it "calculates the RPI OOWP" do
|
43
|
+
valpo = @rpi.find { |team| team.team.name.eql? "Valparaiso" }
|
44
|
+
expect(valpo.oowp).to be_within(0.0001).of(0.0)
|
45
|
+
end
|
46
|
+
|
47
|
+
it "calculates the RPI" do
|
48
|
+
valpo = @rpi.find { |team| team.team.name.eql? "Valparaiso" }
|
49
|
+
# since OWP/OOWP is 0, RPI is 0.25
|
50
|
+
expect(valpo.rpi).to be_within(0.0001).of(0.2500)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
23
54
|
context "no games played" do
|
24
55
|
# do this and clean up the code
|
25
56
|
before(:each) do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rpi-calculator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Cox
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -28,14 +28,14 @@ dependencies:
|
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -56,28 +56,28 @@ dependencies:
|
|
56
56
|
name: guard
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: guard-rspec
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
description: ''
|
@@ -97,7 +97,9 @@ files:
|
|
97
97
|
- lib/crashing_the_dance/rpi_calculator/rpi.rb
|
98
98
|
- lib/crashing_the_dance/rpi_calculator/version.rb
|
99
99
|
- rpi-calculator.gemspec
|
100
|
+
- spec/fixtures/games-onegame.csv
|
100
101
|
- spec/fixtures/games-palm.csv
|
102
|
+
- spec/fixtures/teams-onegame.csv
|
101
103
|
- spec/fixtures/teams-palm.csv
|
102
104
|
- spec/fixtures/teams-single.csv
|
103
105
|
- spec/lib/opponent_game_spec.rb
|
@@ -128,7 +130,9 @@ signing_key:
|
|
128
130
|
specification_version: 4
|
129
131
|
summary: On your computer, calculatin' your RPI.
|
130
132
|
test_files:
|
133
|
+
- spec/fixtures/games-onegame.csv
|
131
134
|
- spec/fixtures/games-palm.csv
|
135
|
+
- spec/fixtures/teams-onegame.csv
|
132
136
|
- spec/fixtures/teams-palm.csv
|
133
137
|
- spec/fixtures/teams-single.csv
|
134
138
|
- spec/lib/opponent_game_spec.rb
|