baseball 0.3.1 → 0.4.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 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