Class: Plato
- Inherits:
-
Object
- Object
- Plato
- 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
-
#initialize(nombre, &bloque) ⇒ Plato
constructor
A new instance of Plato.
- #to_s ⇒ Object
- #vegetal(nombre, cantidad = {}) ⇒ Object
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_s ⇒ Object
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 |