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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 263bbb5e3eb706584740570cd142d6925dfd8c31200eafad661f9b29c879c68c
4
- data.tar.gz: 6a91bc0f837b0f4b90b689775df87be4969f603cb0d7a21988ee3f53dbaf2244
3
+ metadata.gz: 3282ac577b06b9350a668b2f4c8731e79b798514b4d226a2c9c8cc2365383135
4
+ data.tar.gz: b97971236e840d43777772ac7dbc26e64a194a12aa2605c2ac1c4b2fe9f8c7d6
5
5
  SHA512:
6
- metadata.gz: 54d13dd6dc62ea4e60ee25d3e4c366edc2bd9999fb6cb3d4885ec533dbfcdb59934a93813b6f0d99ddf13912bcbdc671ec993c739b032bcd95db43b305483948
7
- data.tar.gz: 59d38c6cd8d7c5f7f38962bd699b527cefb33d0f1c1a6815054271546653838d3a730480bfdbcfedc074447f49f9b57616b1865d2329dfbb73f22f8ad77d4780
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
@@ -1,13 +1,8 @@
1
- require 'baseball/helper'
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
@@ -1,13 +1,8 @@
1
- require 'baseball/helper'
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]
@@ -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 = @pitcher[:er] * 9
11
- avg = earned_runs / @pitcher[:ip].to_f
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 = @pitcher[:walks] + @pitcher[:hits]
17
- whip = walks_plus_hits / @pitcher[:ip].to_f
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
@@ -1,16 +1,11 @@
1
- require 'baseball/helper'
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 = @runner[:stolen_bases].to_f / (@runner[:stolen_bases ].to_f + @runner[:caught_stealing].to_f)
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
@@ -1,3 +1,3 @@
1
1
  module Baseball
2
- VERSION = "0.3.1"
2
+ VERSION = "0.4.0"
3
3
  end
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.3.1
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-14 00:00:00.000000000 Z
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