Module: FloorCalculator

Defined in:
lib/floor_calculator.rb,
lib/floor_calculator/pricer.rb,
lib/floor_calculator/solver.rb

Defined Under Namespace

Classes: Pricer, Solver

Class Method Summary collapse

Class Method Details

.initialize_methodsObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/floor_calculator.rb', line 7

def self.initialize_methods
  %i(usd gbp jpy mxn cad eur aud).each do |country_code|
    Dentaku::Calculator.add_function country_code, :numeric, ->(value) do
      if value.is_a?(Money)
        value.exchange_to(country_code.to_s)
      else
        Money.new(value, country_code.to_s)
      end
    end
  end

  Dentaku::Calculator.add_function(:ceil, :numeric, ->(value) { value.ceil } )
  Dentaku::Calculator.add_function(:fractional, :numeric, ->(value) { value.fractional.to_f } )
  Dentaku.enable_caching!
end