class ROdds::OddStandardizer::Fractional

Constants

NUMERATOR_AND_DENOMINATOR

Attributes

raw_odd[R]

Public Class Methods

call(params) click to toggle source
# File lib/r_odds/odd_standardizers/fractional.rb, line 7
def self.call(params)
  new(params).call
end
new(params) click to toggle source
# File lib/r_odds/odd_standardizers/fractional.rb, line 11
def initialize(params)
  @raw_odd = params[:odd]
end

Public Instance Methods

call() click to toggle source
# File lib/r_odds/odd_standardizers/fractional.rb, line 15
def call
  fraction = NUMERATOR_AND_DENOMINATOR.match(raw_odd)

  reduced_fraction = reduce(fraction)

  ROdds::Odd::Fractional.new(
    numerator: reduced_fraction.numerator,
    denominator: reduced_fraction.denominator
  )
end

Private Instance Methods

reduce(fraction) click to toggle source
# File lib/r_odds/odd_standardizers/fractional.rb, line 29
def reduce(fraction)
  Rational(fraction[:numerator], fraction[:denominator])
end