Class: Menu

Inherits:
Object
  • Object
show all
Defined in:
lib/huella_nutricional/menu.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

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_platosObject (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

#nombreObject (readonly)

Returns the value of attribute nombre.



4
5
6
# File 'lib/huella_nutricional/menu.rb', line 4

def nombre
  @nombre
end

#platosObject (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_sObject



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_ambientalObject



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_totalObject



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