class Oddsmaker::Odd::Fractional
Fractional
odds express the fraction of a dollar that would be won from a $1 bet.
Public Class Methods
new(value, id = nil)
click to toggle source
# File lib/oddsmaker/odd/fractional.rb, line 6 def initialize(value, id = nil) @id = id || value @value = value.is_a?(String) ? value.to_r : value.rationalize end
Public Instance Methods
american()
click to toggle source
Convert to American
odds, returning a new object.
@return [American]
# File lib/oddsmaker/odd/fractional.rb, line 21 def american @american ||= implied_probability.american end
decimal()
click to toggle source
Convert to decimal odds, returning a new object.
@return [Decimal]
# File lib/oddsmaker/odd/fractional.rb, line 28 def decimal @decimal ||= implied_probability.decimal end
fractional()
click to toggle source
Returns self. This creates a consistent API for all odds.
@return [self]
# File lib/oddsmaker/odd/fractional.rb, line 14 def fractional self end
Private Instance Methods
calculate_probability()
click to toggle source
Calculate implied probability of an odd.
@return [Float]
# File lib/oddsmaker/odd/fractional.rb, line 42 def calculate_probability @value.denominator.fdiv(@value.denominator + @value.numerator) end
calculate_profit(amount)
click to toggle source
Calculate profit for a wager.
@return [Float, Integer]
# File lib/oddsmaker/odd/fractional.rb, line 49 def calculate_profit(amount) @value * amount end
type()
click to toggle source
Allows for implied probability to create a vigged/unvigged odd and convert it back to source format.
# File lib/oddsmaker/odd/fractional.rb, line 35 def type :fractional end