baseball 0.3.1 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/baseball.rb +2 -1
- data/lib/baseball/batting.rb +2 -7
- data/lib/baseball/fielding.rb +2 -7
- data/lib/baseball/pitching.rb +7 -9
- data/lib/baseball/player.rb +22 -0
- data/lib/baseball/running.rb +4 -9
- data/lib/baseball/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3282ac577b06b9350a668b2f4c8731e79b798514b4d226a2c9c8cc2365383135
|
4
|
+
data.tar.gz: b97971236e840d43777772ac7dbc26e64a194a12aa2605c2ac1c4b2fe9f8c7d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56aa6a66e48a6e7f5eb431ec5616421ef9ce8262c2023c8c133c59e0966679ee3202911ffd75b3e1b6a5a606d332b685fbbd348ab6e065096435751011c03c26
|
7
|
+
data.tar.gz: 445fd6f352b879b7e664e88aa95414c88e87732b96d85df96fe9c8bb169adf181754c6132a044fb25e6a19f5028435716a294501b2fae7466b22d670182b1005
|
data/lib/baseball.rb
CHANGED
@@ -3,6 +3,7 @@ require 'baseball/batting'
|
|
3
3
|
require 'baseball/pitching'
|
4
4
|
require 'baseball/fielding'
|
5
5
|
require 'baseball/running'
|
6
|
+
require 'baseball/player'
|
6
7
|
|
7
8
|
module Baseball
|
8
9
|
|
@@ -66,5 +67,5 @@ module Baseball
|
|
66
67
|
runner = Runner.new(runner_hash)
|
67
68
|
runner.stolen_base_percentage
|
68
69
|
end
|
69
|
-
|
70
|
+
|
70
71
|
end
|
data/lib/baseball/batting.rb
CHANGED
@@ -1,13 +1,8 @@
|
|
1
|
-
require 'baseball/
|
1
|
+
require 'baseball/player'
|
2
2
|
|
3
3
|
module Batting
|
4
4
|
|
5
|
-
class Batter
|
6
|
-
include Helper
|
7
|
-
attr_accessor :player_hash
|
8
|
-
def initialize(player_hash)
|
9
|
-
@player = player_hash
|
10
|
-
end
|
5
|
+
class Batter < Player::PlayerTemplate
|
11
6
|
|
12
7
|
def batting_average
|
13
8
|
avg = @player[:hits].to_f / @player[:at_bats].to_f
|
data/lib/baseball/fielding.rb
CHANGED
@@ -1,13 +1,8 @@
|
|
1
|
-
require 'baseball/
|
1
|
+
require 'baseball/player'
|
2
2
|
|
3
3
|
module Fielding
|
4
4
|
|
5
|
-
class Fielder
|
6
|
-
include Helper
|
7
|
-
attr_accessor :player_hash
|
8
|
-
def initialize(player_hash)
|
9
|
-
@player = player_hash
|
10
|
-
end
|
5
|
+
class Fielder < Player::PlayerTemplate
|
11
6
|
|
12
7
|
def fielding_percentage
|
13
8
|
plays = @player[:put_outs] + @player[:assists]
|
data/lib/baseball/pitching.rb
CHANGED
@@ -1,20 +1,18 @@
|
|
1
|
+
require 'baseball/player'
|
2
|
+
|
1
3
|
module Pitching
|
4
|
+
class Pitcher < Player::PlayerTemplate
|
2
5
|
|
3
|
-
class Pitcher
|
4
|
-
attr_accessor :pitcher_hash
|
5
|
-
def initialize(pitcher_hash)
|
6
|
-
@pitcher = pitcher_hash
|
7
|
-
end
|
8
6
|
|
9
7
|
def era
|
10
|
-
earned_runs = @
|
11
|
-
avg = earned_runs / @
|
8
|
+
earned_runs = @player[:er] * 9
|
9
|
+
avg = earned_runs / @player[:ip].to_f
|
12
10
|
earned_run_average = avg.round(2)
|
13
11
|
end
|
14
12
|
|
15
13
|
def whip
|
16
|
-
walks_plus_hits = @
|
17
|
-
whip = walks_plus_hits / @
|
14
|
+
walks_plus_hits = @player[:walks] + @player[:hits]
|
15
|
+
whip = walks_plus_hits / @player[:ip].to_f
|
18
16
|
whip = whip.round(3)
|
19
17
|
end
|
20
18
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Player
|
2
|
+
|
3
|
+
class PlayerTemplate
|
4
|
+
attr_accessor :player
|
5
|
+
def initialize(player)
|
6
|
+
@player = player
|
7
|
+
end
|
8
|
+
|
9
|
+
def figure_trailing_zeroes(arg)
|
10
|
+
revised_number = arg
|
11
|
+
if revised_number.length === 3
|
12
|
+
revised_number = "#{revised_number}0"
|
13
|
+
elsif revised_number.length === 2
|
14
|
+
revised_number = "#{revised_number}00"
|
15
|
+
else
|
16
|
+
return revised_number
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
data/lib/baseball/running.rb
CHANGED
@@ -1,16 +1,11 @@
|
|
1
|
-
require 'baseball/
|
1
|
+
require 'baseball/player'
|
2
2
|
|
3
3
|
module Running
|
4
4
|
|
5
|
-
class Runner
|
6
|
-
include Helper
|
7
|
-
attr_accessor :runner_hash
|
8
|
-
def initialize(runner_hash)
|
9
|
-
@runner = runner_hash
|
10
|
-
end
|
5
|
+
class Runner < Player::PlayerTemplate
|
11
6
|
|
12
7
|
def stolen_base_percentage
|
13
|
-
player_stolen_base_percentage = @
|
8
|
+
player_stolen_base_percentage = @player[:stolen_bases].to_f / (@player[:stolen_bases ].to_f + @player[:caught_stealing].to_f)
|
14
9
|
stealing_average = player_stolen_base_percentage.round(3)
|
15
10
|
average_string = stealing_average.to_s.sub!("0", "")
|
16
11
|
figure_trailing_zeroes(average_string)
|
@@ -21,5 +16,5 @@ module Running
|
|
21
16
|
# (.3 x stolen bases) - (.6 x caught stealing)
|
22
17
|
end
|
23
18
|
end
|
24
|
-
|
19
|
+
|
25
20
|
end
|
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: 0.
|
4
|
+
version: 0.4.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-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -59,6 +59,7 @@ files:
|
|
59
59
|
- lib/baseball/fielding.rb
|
60
60
|
- lib/baseball/helper.rb
|
61
61
|
- lib/baseball/pitching.rb
|
62
|
+
- lib/baseball/player.rb
|
62
63
|
- lib/baseball/running.rb
|
63
64
|
- lib/baseball/version.rb
|
64
65
|
homepage: https://github.com/buzzamus/baseball-gem
|