parsley/app/serializers/food_serializer.rb

56 lines
1.6 KiB
Ruby

class FoodSerializer < ApplicationSerializer
def serialize
{
**item_properties(:id,
:name,
:ndbn,
:usda_food_name,
:notes,
:density,
:water,
:ash,
:protein,
:kcal,
:fiber,
:sugar,
:carbohydrates,
:calcium,
:iron,
:magnesium,
:phosphorus,
:potassium,
:sodium,
:zinc,
:copper,
:manganese,
:vit_c,
:vit_b6,
:vit_b12,
:vit_a,
:vit_e,
:vit_d,
:vit_k,
:cholesterol,
:lipids),
ndbn_units: self.ndbn_units,
food_units: item.food_units.map { |u| { id: u.id, name: u.name, gram_weight: u.gram_weight, _destroy: false } }
}
end
def ndbn_units
if item.ndbn.present?
item.usda_food.usda_food_weights.map do |fw|
{
amount: fw.amount,
description: fw.description,
gram_weight: fw.gram_weight
}
end
else
[]
end
end
end