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