Class: Ingreedy::Rationalizer

Inherits:
Object
  • Object
show all
Defined in:
lib/ingreedy/rationalizer.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Rationalizer

Returns a new instance of Rationalizer.



7
8
9
10
11
12
# File 'lib/ingreedy/rationalizer.rb', line 7

def initialize(options)
  @integer  = options.fetch(:integer, nil)
  @float    = options.fetch(:float, nil)
  @fraction = options.fetch(:fraction, nil)
  @word     = options.fetch(:word, nil)
end

Class Method Details

.rationalize(options) ⇒ Object



3
4
5
# File 'lib/ingreedy/rationalizer.rb', line 3

def self.rationalize(options)
  new(options).rationalize
end

Instance Method Details

#rationalizeObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/ingreedy/rationalizer.rb', line 14

def rationalize
  if @word
    result = rationalize_word
  elsif @fraction
    result = rationalize_fraction
    if @integer
      result += @integer.to_i
    end
  elsif @integer
    result = @integer.to_r
  elsif @float
    result = @float.gsub(',', '.').to_r
  end

  result
end