lib/baseball/batting.rb in baseball-0.1.0 vs lib/baseball/batting.rb in baseball-0.3.1
- old
+ new
@@ -1,61 +1,40 @@
+require 'baseball/helper'
+
module Batting
-# add all required statistics as separate arguments required, will then be individual attributes to parse
-# from object
-
-#need to remove attr_accessors, no need to initialize. Each method will have their own individual
-#arguments when called
-
class Batter
+ include Helper
attr_accessor :player_hash
def initialize(player_hash)
@player = player_hash
end
def batting_average
avg = @player[:hits].to_f / @player[:at_bats].to_f
player_average = avg.round(3)
batting_average_string = player_average.to_s.sub!("0", "")
- if batting_average_string.length === 3
- batting_average_string = "#{batting_average_string}0"
- elsif batting_average_string.length === 2
- batting_average_string = "#{batting_average_string}00"
- else
- return batting_average_string
- end
+ figure_trailing_zeroes(batting_average_string)
end
def obp
times_on_base = @player[:hits].to_f + @player[:walks].to_f + @player[:hbp].to_f
times_at_plate = @player[:at_bats].to_f + @player[:walks].to_f + @player[:hbp].to_f + @player[:sac_flies]
obp = times_on_base.to_f / times_at_plate.to_f
player_obp = obp.round(3)
player_obp_string = player_obp.to_s.sub!("0", "")
- if player_obp_string.length === 3
- player_obp_string = "#{player_obp_string}0"
- elsif player_obp_string === 2
- player_obp_string = "#{player_obp_string}00"
- else
- return player_obp_string
- end
+ figure_trailing_zeroes(player_obp_string)
end
def slugging_percentage
player_doubles = @player[:doubles] * 2
player_triples = @player[:triples] * 3
player_hr = @player[:hr] * 4
total_bases = @player[:singles] + player_doubles + player_triples + player_hr
slg = total_bases.to_f / @player[:at_bats].to_f
slg = slg.round(3)
slg_string = slg.to_s.sub!("0", "")
- if slg_string.length === 3
- slg_string = "#{slg_string}0"
- elsif slg_string.length === 2
- slg_string = "#{slg_string}00"
- else
- return slg_string
- end
+ figure_trailing_zeroes(slg_string)
end
def ops
player_ops = self.obp.to_f + self.slugging_percentage.to_f
player_ops_string = player_ops.round(3)