class ROdds::OddConverter::AmericanToImpliedProbability

Attributes

american_odd[R]

Public Class Methods

call(american_odd) click to toggle source
# File lib/r_odds/odd_converters/american_to_implied_probability.rb, line 5
def self.call(american_odd)
  new(american_odd).call
end
new(american_odd) click to toggle source
# File lib/r_odds/odd_converters/american_to_implied_probability.rb, line 9
def initialize(american_odd)
  @american_odd = american_odd
end

Public Instance Methods

call() click to toggle source
# File lib/r_odds/odd_converters/american_to_implied_probability.rb, line 13
def call
  if american_odd.negative?
    derive_implied_probability_from_negative_american_odd
  else
    derive_implied_probability_from_positive_american_odd
  end
end

Private Instance Methods

derive_implied_probability_from_negative_american_odd() click to toggle source
# File lib/r_odds/odd_converters/american_to_implied_probability.rb, line 24
def derive_implied_probability_from_negative_american_odd
  numerator   = american_odd.value.abs
  denominator = (american_odd.value.abs + 100)

  ROdds::Odd::ImpliedProbability.new(numerator: numerator, denominator: denominator)
end
derive_implied_probability_from_positive_american_odd() click to toggle source
# File lib/r_odds/odd_converters/american_to_implied_probability.rb, line 31
def derive_implied_probability_from_positive_american_odd
  numerator   = 100
  denominator = (american_odd.value.abs + 100)

  ROdds::Odd::ImpliedProbability.new(numerator: numerator, denominator: denominator)
end