class Recipe
Attributes
alimentos[R]
name[R]
valor_ener_total[R]
Public Class Methods
new(name) { |self| ... }
click to toggle source
# File lib/prct06/receta.rb, line 5 def initialize(name,&block) @@tabla_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) ] @@porciones={"cucharada"=>15,"cucharon"=>40,"taza"=>100,"pieza"=>150} @name = name @alimentos=[] @valor_ener_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(nombre_alimento, options = {})
click to toggle source
# File lib/prct06/receta.rb, line 117 def aceite(nombre_alimento, options = {}) food=@@tabla_alimentos.find{|x| x.alimento==nombre_alimento} ingredient = food.alimento sz=23-food.alimento.size ingredient << "#{" "*sz}#{food.glucidos}#{" "*9}#{food.proteinas}#{" "*8}#{food.grasas}#{" "*8}#{food.valor_ener.round(2)} " if options[:porcion] almacen=options[:porcion].split ingredient << "#{" "*11}#{almacen[0].to_f*@@porciones[almacen[1]]} gr" end @valor_ener_total+=food.valor_ener @alimentos << ingredient ingredient end
cereal(nombre_alimento, options = {})
click to toggle source
# File lib/prct06/receta.rb, line 81 def cereal(nombre_alimento, options = {}) food=@@tabla_alimentos.find{|x| x.alimento==nombre_alimento} ingredient = food.alimento sz=23-food.alimento.size ingredient << "#{" "*sz}#{food.glucidos}#{" "*9}#{food.proteinas}#{" "*8}#{food.grasas}#{" "*8}#{food.valor_ener.round(2)} " if options[:porcion] almacen=options[:porcion].split ingredient << "#{" "*11}#{almacen[0].to_f*@@porciones[almacen[1]]} gr" end @valor_ener_total+=food.valor_ener @alimentos << ingredient ingredient end
fruta(nombre_alimento, options = {})
click to toggle source
# File lib/prct06/receta.rb, line 63 def fruta(nombre_alimento, options = {}) food=@@tabla_alimentos.find{|x| x.alimento==nombre_alimento} ingredient=food.alimento sz=23-food.alimento.size ingredient << "#{" "*sz}#{food.glucidos}#{" "*9}#{food.proteinas}#{" "*8}#{food.grasas}#{" "*8}#{food.valor_ener.round(2)} " if options[:porcion] almacen=options[:porcion].split ingredient << "#{" "*11}#{almacen[0].to_f*@@porciones[almacen[1]]} gr" end @valor_ener_total+=food.valor_ener @alimentos << ingredient ingredient end
proteina(nombre_alimento, options = {})
click to toggle source
# File lib/prct06/receta.rb, line 99 def proteina(nombre_alimento, options = {}) food=@@tabla_alimentos.find{|x| x.alimento==nombre_alimento} ingredient = food.alimento sz=23-food.alimento.size ingredient << "#{" "*sz}#{food.glucidos}#{" "*9}#{food.proteinas}#{" "*8}#{food.grasas}#{" "*8}#{food.valor_ener.round(2)} " if options[:porcion] almacen=options[:porcion].split ingredient << "#{" "*11}#{almacen[0].to_f*@@porciones[almacen[1]]} gr" end @valor_ener_total+=food.valor_ener @alimentos << ingredient ingredient end
to_s()
click to toggle source
# File lib/prct06/receta.rb, line 135 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 << "#{@alimentos.join("\n")}\n\n" output << "valor energético total ==> #{@valor_ener_total}\n\n" output end
vegetal(nombre_alimento, options = {})
click to toggle source
# File lib/prct06/receta.rb, line 45 def vegetal(nombre_alimento, options = {}) food=@@tabla_alimentos.find{|x| x.alimento==nombre_alimento} ingredient = food.alimento sz=23-food.alimento.size ingredient << "#{" "*sz}#{food.glucidos}#{" "*9}#{food.proteinas}#{" "*8}#{food.grasas}#{" "*8}#{food.valor_ener.round(2)} " if options[:porcion] almacen=options[:porcion].split ingredient << "#{" "*11}#{almacen[0].to_f*@@porciones[almacen[1]]} gr" end @valor_ener_total+=food.valor_ener @alimentos << ingredient ingredient end