class Recipe
Attributes
ingredients[R]
name[R]
v_energetico_total[R]
Public Class Methods
new(name) { |self| ... }
click to toggle source
# File lib/practica_6/Recipe.rb, line 7 def initialize(name,&block) @@cantidades={"cucharada"=>15,"cucharon"=>40,"taza"=>100,"pieza"=>150} @@lista_alimentos=[Alimentos.new("Huevo frito",14.1,0.0,19.5), Alimentos.new("Leche vaca",3.3,4.8,3.2), Alimentos.new("Yogurt",3.8,4.9,3.8), Alimentos.new("Cerdo",21.5,0.0,6.3), Alimentos.new("Ternera",21.1,0.0,3.1), Alimentos.new("Pollo",20.6,0.0,5.6), Alimentos.new("Bacalao",17.7,0.0,0.4), Alimentos.new("Atun",21.5,0.0,15.5), Alimentos.new("Salmon",19.9,0.0,13.6), Alimentos.new("Aceite de oliva",0.0,0.2,99.6), Alimentos.new("Aceite de girasol",0.0,0.9,83.1), Alimentos.new("Mantequilla",0.7,0.0,83.2), Alimentos.new("Chocolate",5.3,47.0,30.0), Alimentos.new("Azucar",0.0,99.8,0.0), Alimentos.new("Arroz",6.8,77.7,0.6), Alimentos.new("Lentejas",23.5,52.0,1.4), Alimentos.new("Papas",2.0,15.4,0.1), Alimentos.new("Tomate",1.0,3.5,0.2), Alimentos.new("Cebolla",1.3,5.8,0.3), Alimentos.new("Calabaza",1.1,4.8,0.1), Alimentos.new("Manzana",0.3,12.4,0.4), Alimentos.new("Platano",1.2,21.4,0.2), Alimentos.new("Pera",0.5,12.7,0.3)] @name = name @ingredients=[] @v_energetico_total=0; if block_given? #Comprueba si el bloque existe if block.arity == 1 #Devuelve la cantidad de argumentos del bloque yield self else instance_eval(&block) end end end
Public Instance Methods
aceite(alimento, options = {})
click to toggle source
# File lib/practica_6/Recipe.rb, line 113 def aceite(alimento, options = {}) food=@@lista_alimentos.find{|x| x.nombre==alimento} ingredient = food.nombre sz=23-food.nombre.size ingredient << "#{" "*sz}#{food.glucidos}#{" "*9}#{food.proteinas}#{" "*8}#{food.lipidos}#{" "*8}#{food.valor_energetico.round(2)} " if options[:porcion] almacen=options[:porcion].split ingredient << "#{" "*11}#{almacen[0].to_f*@@cantidades[almacen[1]]} gr" end @v_energetico_total+=food.valor_energetico @ingredients << ingredient ingredient end
cereal(alimento, options = {})
click to toggle source
# File lib/practica_6/Recipe.rb, line 75 def cereal(alimento, options = {}) food=@@lista_alimentos.find{|x| x.nombre==alimento} ingredient = food.nombre sz=23-food.nombre.size ingredient << "#{" "*sz}#{food.glucidos}#{" "*9}#{food.proteinas}#{" "*8}#{food.lipidos}#{" "*8}#{food.valor_energetico.round(2)} " if options[:porcion] almacen=options[:porcion].split ingredient << "#{" "*11}#{almacen[0].to_f*@@cantidades[almacen[1]]} gr" end @v_energetico_total+=food.valor_energetico @ingredients << ingredient ingredient end
fruta(alimento, options = {})
click to toggle source
# File lib/practica_6/Recipe.rb, line 56 def fruta(alimento, options = {}) food=@@lista_alimentos.find{|x| x.nombre==alimento} ingredient = food.nombre sz=23-food.nombre.size ingredient << "#{" "*sz}#{food.glucidos}#{" "*9}#{food.proteinas}#{" "*8}#{food.lipidos}#{" "*8}#{food.valor_energetico.round(2)} " if options[:porcion] almacen=options[:porcion].split ingredient << "#{" "*11}#{almacen[0].to_f*@@cantidades[almacen[1]]} gr" end @v_energetico_total+=food.valor_energetico @ingredients << ingredient ingredient end
proteina(alimento, options = {})
click to toggle source
# File lib/practica_6/Recipe.rb, line 94 def proteina(alimento, options = {}) food=@@lista_alimentos.find{|x| x.nombre==alimento} ingredient = food.nombre sz=23-food.nombre.size ingredient << "#{" "*sz}#{food.glucidos}#{" "*9}#{food.proteinas}#{" "*8}#{food.lipidos}#{" "*8}#{food.valor_energetico.round(2)} " if options[:porcion] almacen=options[:porcion].split ingredient << "#{" "*11}#{almacen[0].to_f*@@cantidades[almacen[1]]} gr" end @v_energetico_total+=food.valor_energetico @ingredients << ingredient ingredient end
to_s()
click to toggle source
# File lib/practica_6/Recipe.rb, line 26 def to_s output = @name output << "\n#{'=' * @name.size}\n" output << "Composición nutricional:\n" output << " Glúcidos Proteínas Lípidos Valor energético Cantidad\n" output << "#{@ingredients.join("\n")}\n\n" output << "valor energético total ==> #{@v_energetico_total}\n\n" output end
vegetal(alimento, options = {})
click to toggle source
# File lib/practica_6/Recipe.rb, line 37 def vegetal(alimento, options = {}) food=@@lista_alimentos.find{|x| x.nombre==alimento} ingredient = food.nombre sz=23-food.nombre.size ingredient << "#{" "*sz}#{food.glucidos}#{" "*9}#{food.proteinas}#{" "*8}#{food.lipidos}#{" "*8}#{food.valor_energetico.round(2)} " if options[:porcion] almacen=options[:porcion].split ingredient << "#{" "*11}#{almacen[0].to_f*@@cantidades[almacen[1]]} gr" end @v_energetico_total+=food.valor_energetico @ingredients << ingredient ingredient end