Class: Menu
- Inherits:
-
Object
- Object
- Menu
- Defined in:
- lib/huella_nutricional/menu.rb
Instance Attribute Summary collapse
-
#componente(comida) ⇒ Object
readonly
Returns the value of attribute componente.
-
#descripcion(desc) ⇒ Object
readonly
Returns the value of attribute descripcion.
-
#lista_platos ⇒ Object
readonly
Returns the value of attribute lista_platos.
-
#nombre ⇒ Object
readonly
Returns the value of attribute nombre.
-
#platos ⇒ Object
readonly
Returns the value of attribute platos.
-
#precio(price) ⇒ Object
readonly
Returns the value of attribute precio.
Instance Method Summary collapse
-
#initialize(nombre, platos, &block) ⇒ Menu
constructor
platos, lista_platos, plato( el parametro que recibes en el metodo plato) es lo que te pasa el usuario en el dsl lista_platos es la lista de objetos plato que el usuario desea incluir en el menú platos son los platos que admite tu menu, mi pregunta es …
- #plato(plato) ⇒ Object
- #to_s ⇒ Object
- #valor_ambiental ⇒ Object
- #valor_calorico_total ⇒ Object
Constructor Details
#initialize(nombre, platos, &block) ⇒ Menu
platos, lista_platos, plato( el parametro que recibes en el metodo plato) es lo que te pasa el usuario en el dsl lista_platos es la lista de objetos plato que el usuario desea incluir en el menú platos son los platos que admite tu menu, mi pregunta es … de donde se sacan esos platos que admite el menú
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/huella_nutricional/menu.rb', line 10 def initialize(nombre,platos,&block) @nombre = nombre @componente = [] @precio = 0 @platos = platos @lista_platos = [] if block_given? if block.arity == 1 yield self else instance_eval(&block) end end end |
Instance Attribute Details
#componente(comida) ⇒ Object (readonly)
Returns the value of attribute componente.
4 5 6 |
# File 'lib/huella_nutricional/menu.rb', line 4 def componente @componente end |
#descripcion(desc) ⇒ Object (readonly)
Returns the value of attribute descripcion.
4 5 6 |
# File 'lib/huella_nutricional/menu.rb', line 4 def descripcion @descripcion end |
#lista_platos ⇒ Object (readonly)
Returns the value of attribute lista_platos.
4 5 6 |
# File 'lib/huella_nutricional/menu.rb', line 4 def lista_platos @lista_platos end |
#nombre ⇒ Object (readonly)
Returns the value of attribute nombre.
4 5 6 |
# File 'lib/huella_nutricional/menu.rb', line 4 def nombre @nombre end |
#platos ⇒ Object (readonly)
Returns the value of attribute platos.
4 5 6 |
# File 'lib/huella_nutricional/menu.rb', line 4 def platos @platos end |
#precio(price) ⇒ Object (readonly)
Returns the value of attribute precio.
4 5 6 |
# File 'lib/huella_nutricional/menu.rb', line 4 def precio @precio end |
Instance Method Details
#plato(plato) ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/huella_nutricional/menu.rb', line 27 def plato(plato) @platos.each do |item| if plato[:descripcion] == item.nombre @lista_platos << item end end end |
#to_s ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/huella_nutricional/menu.rb', line 67 def to_s s = "" if @nombre.is_a?(String) s += "nombre del menú " + @nombre + " Se compone de :" + "\n\n" s += "lista de platos del menú " + "\n\n"; @lista_platos.each do |item| s += "\n" s += item.to_s s += "\n" end end s end |
#valor_ambiental ⇒ Object
58 59 60 61 62 63 64 65 |
# File 'lib/huella_nutricional/menu.rb', line 58 def valor_ambiental va = (lista_platos.inject(0.0){|sum,plato| sum + plato.emisiones_gei}) puts "El valor ambiental del menu " + va.to_s va end |
#valor_calorico_total ⇒ Object
51 52 53 54 55 56 |
# File 'lib/huella_nutricional/menu.rb', line 51 def valor_calorico_total vct = lista_platos.inject(0.0){|sum,plato| sum + plato.valor_calorico_total} vct end |