35 lines
888 B
Ruby
35 lines
888 B
Ruby
json.cache_root! [@recipe] do
|
|
|
|
json.extract! @recipe, :id, :name, :rating, :yields, :total_time, :active_time, :created_at, :updated_at, :step_text
|
|
|
|
json.rendered_steps MarkdownProcessor.render(@recipe.step_text)
|
|
|
|
json.tags @recipe.tag_names
|
|
|
|
json.ingredients @recipe.recipe_ingredients do |ri|
|
|
json.extract! ri, :id, :ingredient_id, :display_name, :name, :quantity, :units, :preparation, :sort_order
|
|
|
|
json.ingredient do
|
|
if ri.ingredient.nil?
|
|
json.null!
|
|
else
|
|
json.extract! ri.ingredient, :id, :name, :density, :notes
|
|
end
|
|
end
|
|
|
|
json._destroy false
|
|
end
|
|
|
|
json.nutrition_data do
|
|
json.errors @recipe.nutrition_data.errors
|
|
|
|
json.nutrients NutritionData::NUTRIENTS.select { |_, v| v.present? } do |name, label|
|
|
json.name name
|
|
json.label label
|
|
json.value @recipe.nutrition_data.send(name)
|
|
end
|
|
|
|
end
|
|
|
|
end
|