baseball 1.0.0 → 1.1.0
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/baseball/batting.rb +5 -19
- data/lib/baseball/fielding.rb +1 -2
- data/lib/baseball/pitching.rb +1 -1
- data/lib/baseball/player.rb +9 -7
- data/lib/baseball/running.rb +2 -4
- data/lib/baseball/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa54caafe28d80c5f1d5bfd3fb52d58d3e0b5dd84b787c90b7eeb97208be8439
|
4
|
+
data.tar.gz: 82ac54c8286efde8e7874d55932f45a5e51cf1936b18baf61aa0c6c5737cef5a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '038b299268c4e9914c98ca2a57e1fa363edb906f57c3743f3f47cd04297e1751be12ef85f8712aeb82c355660688ba92b5002b07c59b60c5245a490fdf1605f5'
|
7
|
+
data.tar.gz: 64f7aa0f21c737b3b3e3b2e97ca1497831a68ce371ad9413dbbaae52a32800310209bb0f2ad525942d757cb618688d75d1f37461791f5fe631667d9232058807
|
data/lib/baseball/batting.rb
CHANGED
@@ -7,8 +7,7 @@ module Batting
|
|
7
7
|
def batting_average
|
8
8
|
avg = @player[:hits].to_f / @player[:at_bats].to_f
|
9
9
|
player_average = avg.round(3)
|
10
|
-
|
11
|
-
figure_trailing_zeroes(batting_average_string)
|
10
|
+
figure_lead_and_trailing_zeroes(player_average)
|
12
11
|
end
|
13
12
|
|
14
13
|
def obp
|
@@ -16,16 +15,14 @@ module Batting
|
|
16
15
|
times_at_plate = @player[:at_bats].to_f + @player[:walks].to_f + @player[:hbp].to_f + @player[:sac_flies]
|
17
16
|
obp = times_on_base.to_f / times_at_plate.to_f
|
18
17
|
player_obp = obp.round(3)
|
19
|
-
|
20
|
-
figure_trailing_zeroes(player_obp_string)
|
18
|
+
figure_lead_and_trailing_zeroes(player_obp)
|
21
19
|
end
|
22
20
|
|
23
21
|
def slugging_percentage
|
24
22
|
total_bases = @player[:singles] + (@player[:doubles] * 2) + (@player[:triples] * 3) + @player[:hr] * 4
|
25
23
|
slg = total_bases.to_f / @player[:at_bats].to_f
|
26
24
|
slg = slg.round(3)
|
27
|
-
|
28
|
-
figure_trailing_zeroes(slg_string)
|
25
|
+
figure_lead_and_trailing_zeroes(slg)
|
29
26
|
end
|
30
27
|
|
31
28
|
def ops
|
@@ -33,22 +30,11 @@ module Batting
|
|
33
30
|
player_ops_string = player_ops.round(3)
|
34
31
|
player_ops_string = player_ops_string.to_s
|
35
32
|
if player_ops_string[0] === "0"
|
36
|
-
player_ops_string
|
33
|
+
remove_leading_zero(player_ops_string)
|
37
34
|
else
|
38
|
-
|
35
|
+
player_ops_string
|
39
36
|
end
|
40
37
|
end
|
41
|
-
|
42
|
-
def base_runs
|
43
|
-
# a = hits + walks - hr
|
44
|
-
# b = (1.4 * totalbases - .6 * hits - 3 * HR + .1 * BB) * 1.02
|
45
|
-
# c = AB - Hits
|
46
|
-
# D = HR
|
47
|
-
|
48
|
-
# x = (A * B) / (B + C)
|
49
|
-
# x + D
|
50
|
-
end
|
51
|
-
|
52
38
|
end
|
53
39
|
|
54
40
|
end
|
data/lib/baseball/fielding.rb
CHANGED
@@ -9,8 +9,7 @@ module Fielding
|
|
9
9
|
plays_plus_errors = plays + @player[:errors]
|
10
10
|
player_avg = plays.to_f / plays_plus_errors.to_f
|
11
11
|
avg = player_avg.round(3)
|
12
|
-
|
13
|
-
figure_trailing_zeroes(fielding_percentage)
|
12
|
+
figure_lead_and_trailing_zeroes(avg)
|
14
13
|
end
|
15
14
|
end
|
16
15
|
|
data/lib/baseball/pitching.rb
CHANGED
@@ -12,7 +12,7 @@ module Pitching
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def whip
|
15
|
-
corrected_innings =
|
15
|
+
corrected_innings = third_of_an_inning_handler(@player[:ip]).to_f
|
16
16
|
walks_plus_hits = @player[:walks] + @player[:hits]
|
17
17
|
figured_whip = walks_plus_hits / corrected_innings
|
18
18
|
figured_whip = figured_whip.round(3)
|
data/lib/baseball/player.rb
CHANGED
@@ -6,8 +6,8 @@ module Player
|
|
6
6
|
@player = player
|
7
7
|
end
|
8
8
|
|
9
|
-
def
|
10
|
-
revised_number = arg
|
9
|
+
def figure_lead_and_trailing_zeroes(arg)
|
10
|
+
revised_number = self.remove_leading_zero(arg)
|
11
11
|
|
12
12
|
if revised_number.length === 3
|
13
13
|
revised_number = "#{revised_number}0"
|
@@ -18,24 +18,26 @@ module Player
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
def
|
21
|
+
def third_of_an_inning_handler(innings)
|
22
22
|
innings_string = innings.to_s
|
23
23
|
final_fig = innings_string[0..(innings_string.length - 2)]
|
24
24
|
final_num = innings_string[(innings_string.length - 2)..innings_string.length].to_f
|
25
|
-
|
25
|
+
returnable_innings = final_fig.to_f
|
26
26
|
if final_num == 0.1
|
27
|
-
returnable_innings = final_fig.to_f
|
28
27
|
returnable_innings += 0.33
|
29
28
|
returnable_innings.to_s
|
30
29
|
elsif final_num == 0.2
|
31
|
-
returnable_innings = final_fig.to_f
|
32
30
|
returnable_innings += 0.66
|
33
31
|
returnable_innings.to_s
|
34
32
|
else
|
35
|
-
|
33
|
+
innings
|
36
34
|
end
|
37
35
|
end
|
38
36
|
|
37
|
+
def remove_leading_zero(arg)
|
38
|
+
arg.to_s.sub("0", "")
|
39
|
+
end
|
40
|
+
|
39
41
|
end
|
40
42
|
|
41
43
|
end
|
data/lib/baseball/running.rb
CHANGED
@@ -7,8 +7,8 @@ module Running
|
|
7
7
|
def stolen_base_percentage
|
8
8
|
player_stolen_base_percentage = @player[:stolen_bases].to_f / (@player[:stolen_bases ].to_f + @player[:caught_stealing].to_f)
|
9
9
|
stealing_average = player_stolen_base_percentage.round(3)
|
10
|
-
average_string = stealing_average
|
11
|
-
|
10
|
+
average_string = remove_leading_zero(stealing_average)
|
11
|
+
figure_lead_and_trailing_zeroes(average_string)
|
12
12
|
end
|
13
13
|
|
14
14
|
def stolen_base_runs
|
@@ -17,8 +17,6 @@ module Running
|
|
17
17
|
adjusted_stolen_base_runs = stolen_base_adjustment - caught_stealing_adjustment
|
18
18
|
base_runs = adjusted_stolen_base_runs.round(3)
|
19
19
|
return base_runs.to_s
|
20
|
-
#Created by Total baseball
|
21
|
-
# (.3 x stolen bases) - (.6 x caught stealing)
|
22
20
|
end
|
23
21
|
end
|
24
22
|
|
data/lib/baseball/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: baseball
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brent Busby
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|