Class: Plato

Inherits:
Object
  • Object
show all
Defined in:
lib/alimento/plato.rb

Constant Summary collapse

@@talimentos =
[
  Alimento.new("Huevo frito",    14.1,  0.0, 19.5),
               Alimento.new("Leche",           3.3,  4.8,  3.2),
               Alimento.new("Mantequilla" ,    0.7,  0.0, 83.2),
  Alimento.new("Yogurt",          3.8,  4.9,  3.8),
  Alimento.new("Cerdo",          21.5,  0.0,  6.3),
  Alimento.new("Ternera",        21.1,  0.0,  3.1),
  Alimento.new("Pollo",          20.6,  0.0,  5.6),
  Alimento.new("Bacalao",        17.7,  0.0,  0.4),
  Alimento.new("Atun",           21.5,  0.0, 15.5),
  Alimento.new("Salmon",         19.9,  0.0, 13.6),
  Alimento.new("Aceite de oliva", 0.0,  0.2, 99.6),
  Alimento.new("Chocolate",       5.3, 47.0, 30.0),
  Alimento.new("Azucar",          0.0, 99.8,  0.0),
  Alimento.new("Arroz",           6.8, 77.7,  0.6),
  Alimento.new("Lentejas",       23.5, 52.0,  1.4),
  Alimento.new("Papas",           2.0, 15.4,  0.1),
  Alimento.new("Tomate",          1.0,  3.5,  0.2),
  Alimento.new("Cebolla",         1.3,  5.8,  0.3),
  Alimento.new("Calabaza",        1.1,  4.8,  0.1),
  Alimento.new("Manzana",         0.3, 12.4,  0.4),
  Alimento.new("Platanos",        1.2, 21.4,  0.2),
  Alimento.new("Pera",            0.5, 12.7,  0.3)   
]
@@tmediciones =
[
  ["pieza",40],
  ["taza",30],
  ["cucharon",10],
  ["cucharada",5],
  ["pizca",2],
  ["cucharilla",3]
]

Instance Method Summary collapse

Constructor Details

#initialize(nombre, &bloque) ⇒ Plato

Returns a new instance of Plato.



35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/alimento/plato.rb', line 35

def initialize(nombre, &bloque)
  @nombre=nombre
  @alimentos=[]
  @kcal=0
  if block_given?
    if block.arity == 1
      yield self
    else
      instance_eval(&bloque)
    end
  end
end

Instance Method Details

#to_sObject



48
49
50
51
52
53
54
55
# File 'lib/alimento/plato.rb', line 48

def to_s
  output = @nombre
  output << "\n#{'=' * @nombre.size}\nComposición nutricional:\n"
  @alimentos.each do |alimento|
    output << alimento[0].to_s << " kcal=#{alimento[1]}\n"
  end
  output << "Valor energético total: #{@kcal}\n"
end

#vegetal(nombre, cantidad = {}) ⇒ Object



57
58
59
60
61
62
63
64
# File 'lib/alimento/plato.rb', line 57

def vegetal(nombre, cantidad={})
  aux=[]
  @@talimentos.each{|alimento| aux << alimento if nombre=alimento.aux }
  aux << alimento.kcal*cantidad[:gramos] if cantidad[:gramos] 
  @@tmediciones.each{|unidad| aux << aux[0].kcal*unidad[1] if unidad[0]=cantidad[:porcion] } if cantidad[:porcion]

  @alimentos << aux
end