parsley/app/controllers/calculator_controller.rb

35 lines
732 B
Ruby

class CalculatorController < ApplicationController
def index
end
def calculate
input = params[:input]
output_unit = params[:output_unit]
density = params[:density]
density = nil unless density.present?
data = {errors: [], output: ''}
begin
unit = UnitConversion.parse(input)
if output_unit.present?
unit = unit.convert(output_unit, density)
data[:output] = unit.to_s
else
data[:output] = unit.auto_unit.to_s
end
rescue UnitConversion::UnparseableUnitError => e
data[:errors] << e.message
end
render json: data
end
def ingredient_search
@ingredients = Ingredient.has_density.search(params[:query]).order(:name)
end
end