diff --git a/app/controllers/api/products_controller.rb b/app/controllers/api/products_controller.rb index 65a13eeb0..ca15bfafb 100644 --- a/app/controllers/api/products_controller.rb +++ b/app/controllers/api/products_controller.rb @@ -15,13 +15,7 @@ class API::ProductsController < API::ApiController def create authorize Product @product = Product.new(product_params) - if @product.amount.present? - if @product.amount.zero? - @product.amount = nil - else - @product.amount *= 100 - end - end + @product.amount = ProductService.amount_multiplied_by_hundred(@product.amount) if @product.save render status: :created else @@ -33,13 +27,7 @@ class API::ProductsController < API::ApiController authorize @product product_parameters = product_params - if product_parameters[:amount].present? - if product_parameters[:amount].zero? - product_parameters[:amount] = nil - else - product_parameters[:amount] *= 100 - end - end + product_parameters[:amount] = ProductService.amount_multiplied_by_hundred(product_parameters[:amount]) if @product.update(product_parameters) render status: :ok else diff --git a/app/services/product_service.rb b/app/services/product_service.rb index d31f61ae8..8c712bf35 100644 --- a/app/services/product_service.rb +++ b/app/services/product_service.rb @@ -5,4 +5,16 @@ class ProductService def self.list Product.all end + + # amount params multiplied by hundred + def self.amount_multiplied_by_hundred(amount) + if amount.present? + v = amount.to_f + + return nil if v.zero? + + return v * 100 + end + nil + end end