parsley/app/controllers/calculator_controller.rb

29 lines
541 B
Ruby
Raw Normal View History

2016-01-31 00:00:32 -06:00
class CalculatorController < ApplicationController
def index
end
def calculate
input = params[:input]
output_unit = params[:output_unit]
data = {errors: [], output: ''}
2016-01-31 00:00:32 -06:00
begin
unit = UnitConversion.parse(input)
if output_unit.present?
unit = unit.convert(output_unit)
data[:output] = unit.to_s
else
data[:output] = unit.auto_unit.to_s
2016-01-31 00:00:32 -06:00
end
rescue UnitConversion::UnparseableUnitError => e
data[:errors] << e.message
2016-01-31 00:00:32 -06:00
end
render json: data
end
end