baseball 0.1.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -1
- data/lib/baseball.rb +6 -0
- data/lib/baseball/batting.rb +6 -27
- data/lib/baseball/fielding.rb +4 -8
- data/lib/baseball/helper.rb +14 -0
- data/lib/baseball/running.rb +22 -1
- data/lib/baseball/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 263bbb5e3eb706584740570cd142d6925dfd8c31200eafad661f9b29c879c68c
|
4
|
+
data.tar.gz: 6a91bc0f837b0f4b90b689775df87be4969f603cb0d7a21988ee3f53dbaf2244
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54d13dd6dc62ea4e60ee25d3e4c366edc2bd9999fb6cb3d4885ec533dbfcdb59934a93813b6f0d99ddf13912bcbdc671ec993c739b032bcd95db43b305483948
|
7
|
+
data.tar.gz: 59d38c6cd8d7c5f7f38962bd699b527cefb33d0f1c1a6815054271546653838d3a730480bfdbcfedc074447f49f9b57616b1865d2329dfbb73f22f8ad77d4780
|
data/README.md
CHANGED
@@ -2,7 +2,10 @@
|
|
2
2
|
|
3
3
|
This Ruby gem contains a pre-created library for factoring baseball statistics.
|
4
4
|
|
5
|
-
* Gem is still in development
|
5
|
+
* Gem is still in development with more stats to be added.
|
6
|
+
|
7
|
+
* Note: This project is in no way taking credit for creating any of the included baseball stats.
|
8
|
+
This is a library created strictly to be used in easily figuring the included statistics based on the data received by the user.
|
6
9
|
|
7
10
|
## Installation
|
8
11
|
|
data/lib/baseball.rb
CHANGED
data/lib/baseball/batting.rb
CHANGED
@@ -1,12 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
# add all required statistics as separate arguments required, will then be individual attributes to parse
|
4
|
-
# from object
|
1
|
+
require 'baseball/helper'
|
5
2
|
|
6
|
-
|
7
|
-
#arguments when called
|
3
|
+
module Batting
|
8
4
|
|
9
5
|
class Batter
|
6
|
+
include Helper
|
10
7
|
attr_accessor :player_hash
|
11
8
|
def initialize(player_hash)
|
12
9
|
@player = player_hash
|
@@ -16,13 +13,7 @@ module Batting
|
|
16
13
|
avg = @player[:hits].to_f / @player[:at_bats].to_f
|
17
14
|
player_average = avg.round(3)
|
18
15
|
batting_average_string = player_average.to_s.sub!("0", "")
|
19
|
-
|
20
|
-
batting_average_string = "#{batting_average_string}0"
|
21
|
-
elsif batting_average_string.length === 2
|
22
|
-
batting_average_string = "#{batting_average_string}00"
|
23
|
-
else
|
24
|
-
return batting_average_string
|
25
|
-
end
|
16
|
+
figure_trailing_zeroes(batting_average_string)
|
26
17
|
end
|
27
18
|
|
28
19
|
def obp
|
@@ -31,13 +22,7 @@ module Batting
|
|
31
22
|
obp = times_on_base.to_f / times_at_plate.to_f
|
32
23
|
player_obp = obp.round(3)
|
33
24
|
player_obp_string = player_obp.to_s.sub!("0", "")
|
34
|
-
|
35
|
-
player_obp_string = "#{player_obp_string}0"
|
36
|
-
elsif player_obp_string === 2
|
37
|
-
player_obp_string = "#{player_obp_string}00"
|
38
|
-
else
|
39
|
-
return player_obp_string
|
40
|
-
end
|
25
|
+
figure_trailing_zeroes(player_obp_string)
|
41
26
|
end
|
42
27
|
|
43
28
|
def slugging_percentage
|
@@ -48,13 +33,7 @@ module Batting
|
|
48
33
|
slg = total_bases.to_f / @player[:at_bats].to_f
|
49
34
|
slg = slg.round(3)
|
50
35
|
slg_string = slg.to_s.sub!("0", "")
|
51
|
-
|
52
|
-
slg_string = "#{slg_string}0"
|
53
|
-
elsif slg_string.length === 2
|
54
|
-
slg_string = "#{slg_string}00"
|
55
|
-
else
|
56
|
-
return slg_string
|
57
|
-
end
|
36
|
+
figure_trailing_zeroes(slg_string)
|
58
37
|
end
|
59
38
|
|
60
39
|
def ops
|
data/lib/baseball/fielding.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
|
+
require 'baseball/helper'
|
2
|
+
|
1
3
|
module Fielding
|
2
4
|
|
3
5
|
class Fielder
|
6
|
+
include Helper
|
4
7
|
attr_accessor :player_hash
|
5
8
|
def initialize(player_hash)
|
6
9
|
@player = player_hash
|
@@ -13,15 +16,8 @@ module Fielding
|
|
13
16
|
avg = player_avg.round(3)
|
14
17
|
# code smell - make this a several function called somewhere since this is used over multiple stats
|
15
18
|
fielding_percentage = avg.to_s.sub!("0", "")
|
16
|
-
|
17
|
-
fielding_percentage = "#{fielding_percentage}0"
|
18
|
-
elsif fielding_percentage.length === 2
|
19
|
-
fielding_percentage = "#{fielding_percentage}00"
|
20
|
-
else
|
21
|
-
return fielding_percentage.round
|
22
|
-
end
|
19
|
+
figure_trailing_zeroes(fielding_percentage)
|
23
20
|
end
|
24
|
-
|
25
21
|
end
|
26
22
|
|
27
23
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Helper
|
2
|
+
|
3
|
+
def figure_trailing_zeroes(arg)
|
4
|
+
revised_number = arg
|
5
|
+
if revised_number.length === 3
|
6
|
+
revised_number = "#{revised_number}0"
|
7
|
+
elsif revised_number.length === 2
|
8
|
+
revised_number = "#{revised_number}00"
|
9
|
+
else
|
10
|
+
return revised_number
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
data/lib/baseball/running.rb
CHANGED
@@ -1,4 +1,25 @@
|
|
1
|
+
require 'baseball/helper'
|
2
|
+
|
1
3
|
module Running
|
2
4
|
|
5
|
+
class Runner
|
6
|
+
include Helper
|
7
|
+
attr_accessor :runner_hash
|
8
|
+
def initialize(runner_hash)
|
9
|
+
@runner = runner_hash
|
10
|
+
end
|
11
|
+
|
12
|
+
def stolen_base_percentage
|
13
|
+
player_stolen_base_percentage = @runner[:stolen_bases].to_f / (@runner[:stolen_bases ].to_f + @runner[:caught_stealing].to_f)
|
14
|
+
stealing_average = player_stolen_base_percentage.round(3)
|
15
|
+
average_string = stealing_average.to_s.sub!("0", "")
|
16
|
+
figure_trailing_zeroes(average_string)
|
17
|
+
end
|
3
18
|
|
4
|
-
|
19
|
+
def stolen_base_runs
|
20
|
+
#Created by Total baseball
|
21
|
+
# (.3 x stolen bases) - (.6 x caught stealing)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
data/lib/baseball/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: baseball
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brent Busby
|
@@ -57,6 +57,7 @@ files:
|
|
57
57
|
- lib/baseball.rb
|
58
58
|
- lib/baseball/batting.rb
|
59
59
|
- lib/baseball/fielding.rb
|
60
|
+
- lib/baseball/helper.rb
|
60
61
|
- lib/baseball/pitching.rb
|
61
62
|
- lib/baseball/running.rb
|
62
63
|
- lib/baseball/version.rb
|