Class: Menu

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

Instance Method Summary collapse

Constructor Details

#initialize(nombre, &block) ⇒ Menu

Returns a new instance of Menu.



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/gema/menu.rb', line 3

def initialize(nombre, &block)

	@nombre = nombre

	@desayuno = []
	@almuerzo = []
	@cena = []

	

	if block_given?
		if block.arity == 1
			yield self
		else
			instance_eval(&block)
		end
	end

puts self			
end

Instance Method Details

#almuerzo(descripcion, options = {}) ⇒ Object



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/gema/menu.rb', line 68

def almuerzo(descripcion ,options = {})


        grasas = options[:grasas] ? options[:grasas] : 0.0
        grasas_s =  options[:grasas_s] ? options[:grasas_s] : 0.0
        hidratos = options[:hidratos] ? options[:hidratos] : 0.0
        azucares = options[:azucares] ? options[:azucares] : 0.0
        proteinas = options[:proteinas] ? options[:proteinas] : 0.0
        sal = options[:sal] ? options[:sal] : 0.0
        grasas_mon = options[:grasas_mon] ? options[:grasas_mon] : 0.0
        grasas_pol = options[:grasas_pol] ? options[:grasas_pol] : 0.0
        polialcoholes = options[:polialcoholes] ? options[:polialcoholes] : 0.0
        almidon = options[:almidon] ? options[:almidon] : 0.0
        fibra = options[:fibra] ? options[:fibra] : 0.0
        vitaminas = options[:vitaminas] ? options[:vitaminas] : 0.0
        minerales = options[:minerales] ? options[:minerales] : 0.0

        etiqueta = Etiqueta_nut.new(descripcion, grasas , grasas_s , hidratos , azucares , proteinas , sal , grasas_mon , grasas_pol , polialcoholes , almidon , fibra , vitaminas , minerales)
        etiqueta.valor_energetico()


        @almuerzo << etiqueta

end

#cena(descripcion, options = {}) ⇒ Object



93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'lib/gema/menu.rb', line 93

def cena(descripcion ,options = {})


        grasas = options[:grasas] ? options[:grasas] : 0.0
        grasas_s =  options[:grasas_s] ? options[:grasas_s] : 0.0
        hidratos = options[:hidratos] ? options[:hidratos] : 0.0
	azucares = options[:azucares] ? options[:azucares] : 0.0
	proteinas = options[:proteinas] ? options[:proteinas] : 0.0
	sal = options[:sal] ? options[:sal] : 0.0
	grasas_mon = options[:grasas_mon] ? options[:grasas_mon] : 0.0
	grasas_pol = options[:grasas_pol] ? options[:grasas_pol] : 0.0
	polialcoholes = options[:polialcoholes] ? options[:polialcoholes] : 0.0
	almidon = options[:almidon] ? options[:almidon] : 0.0
	fibra = options[:fibra] ? options[:fibra] : 0.0
	vitaminas = options[:vitaminas] ? options[:vitaminas] : 0.0
	minerales = options[:minerales] ? options[:minerales] : 0.0

	etiqueta = Etiqueta_nut.new(descripcion, grasas , grasas_s , hidratos , azucares , proteinas , sal , grasas_mon , grasas_pol , polialcoholes , almidon , fibra , vitaminas , minerales)
	etiqueta.valor_energetico()        

        @cena << etiqueta

end

#desayuno(descripcion, options = {}) ⇒ Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/gema/menu.rb', line 44

def desayuno(descripcion, options = {})

        grasas = options[:grasas] ? options[:grasas] : 0.0
        grasas_s =  options[:grasas_s] ? options[:grasas_s] : 0.0
        hidratos = options[:hidratos] ? options[:hidratos] : 0.0
        azucares = options[:azucares] ? options[:azucares] : 0.0
        proteinas = options[:proteinas] ? options[:proteinas] : 0.0
        sal = options[:sal] ? options[:sal] : 0.0
        grasas_mon = options[:grasas_mon] ? options[:grasas_mon] : 0.0
        grasas_pol = options[:grasas_pol] ? options[:grasas_pol] : 0.0
        polialcoholes = options[:polialcoholes] ? options[:polialcoholes] : 0.0
        almidon = options[:almidon] ? options[:almidon] : 0.0
        fibra = options[:fibra] ? options[:fibra] : 0.0
        vitaminas = options[:vitaminas] ? options[:vitaminas] : 0.0
        minerales = options[:minerales] ? options[:minerales] : 0.0

        etiqueta = Etiqueta_nut.new(descripcion, grasas , grasas_s , hidratos , azucares , proteinas , sal , grasas_mon , grasas_pol , polialcoholes , almidon , fibra , vitaminas , minerales)
        etiqueta.valor_energetico()


	@desayuno << etiqueta
end

#ingesta(options = {}) ⇒ Object



29
30
31
32
33
34
# File 'lib/gema/menu.rb', line 29

def ingesta(options = {} )

	@min = (options[:min]) if options[:min]
	@max = (options[:max]) if options[:max]
	
end

#titulo(name) ⇒ Object



25
26
27
# File 'lib/gema/menu.rb', line 25

def titulo(name)
	@titulo = name
end

#to_sObject



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# File 'lib/gema/menu.rb', line 118

def to_s

	output = @nombre
	output << "                    Composición nutricional"
	output << "\n#{'=' * 170}\n\n"
	output << "#{' ' * 24}grasas\thidratos\tazucares\tproteinas\tsal\tpolialcoholes\talmidon\tfibra\tvitaminas\tminerales\tvalor energetico\n"
	output << "Desayuno\n"
	output << @desayuno.join("\n")
	output << "\n\nAlmuerzo\n"
        output << @almuerzo.join("\n")
	output << "\n\nCena\n"
        output << @cena.join("\n")
	output << "\n\n#{'=' * 170}\n\n"
	output << "Valor energético total:  #{valor_energetico_total}\t Ingesta mix: #{@min}\tIngesta max: #{@max}"
	
end

#valor_energetico_totalObject



36
37
38
39
40
41
42
# File 'lib/gema/menu.rb', line 36

def valor_energetico_total
	
	@valor_energetico = @desayuno.map{|x| x.kcal}.reduce(:+)
	@valor_energetico += @almuerzo.map{|x| x.kcal}.reduce(:+)
	@valor_energetico += @cena.map{|x| x.kcal}.reduce(:+)

end