Class: Etiqueta

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/prct06/nutricion.rb

Overview

Esta clase representa la etiqueta nutricional de un alimento

Author:

  • Miriam Rodríguez Méndez

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(alimento, grasas, saturadas, mono, poli, hidratos, azucares, polial, almidon, fibra, proteinas, sal, vitaminas) ⇒ Etiqueta

Returns a new instance of Etiqueta.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/prct06/nutricion.rb', line 11

def initialize(alimento, grasas, saturadas, mono, poli, hidratos, azucares, 
	       polial, almidon, fibra, proteinas, sal, vitaminas)
	
	@alimento = alimento
	@grasas = grasas
	@saturadas = saturadas
	@mono = mono
	@poli = poli
	@hidratos = hidratos
	@azucares = azucares
	@polial = polial
	@almidon = almidon
	@fibra = fibra
	@proteinas = proteinas
	@sal = sal
	@vitaminas = vitaminas
end

Instance Attribute Details

#alimentoObject

Permite la lectura y acceso de estas variables



8
9
10
# File 'lib/prct06/nutricion.rb', line 8

def alimento
  @alimento
end

#almidonObject

Permite la lectura y acceso de estas variables



8
9
10
# File 'lib/prct06/nutricion.rb', line 8

def almidon
  @almidon
end

#azucaresObject

Permite la lectura y acceso de estas variables



8
9
10
# File 'lib/prct06/nutricion.rb', line 8

def azucares
  @azucares
end

#fibraObject

Permite la lectura y acceso de estas variables



8
9
10
# File 'lib/prct06/nutricion.rb', line 8

def fibra
  @fibra
end

#grasasObject

Permite la lectura y acceso de estas variables



8
9
10
# File 'lib/prct06/nutricion.rb', line 8

def grasas
  @grasas
end

#hidratosObject

Permite la lectura y acceso de estas variables



8
9
10
# File 'lib/prct06/nutricion.rb', line 8

def hidratos
  @hidratos
end

#monoObject

Permite la lectura y acceso de estas variables



8
9
10
# File 'lib/prct06/nutricion.rb', line 8

def mono
  @mono
end

#poliObject

Permite la lectura y acceso de estas variables



8
9
10
# File 'lib/prct06/nutricion.rb', line 8

def poli
  @poli
end

#polialObject

Permite la lectura y acceso de estas variables



8
9
10
# File 'lib/prct06/nutricion.rb', line 8

def polial
  @polial
end

#proteinasObject

Permite la lectura y acceso de estas variables



8
9
10
# File 'lib/prct06/nutricion.rb', line 8

def proteinas
  @proteinas
end

#salObject

Permite la lectura y acceso de estas variables



8
9
10
# File 'lib/prct06/nutricion.rb', line 8

def sal
  @sal
end

#saturadasObject

Permite la lectura y acceso de estas variables



8
9
10
# File 'lib/prct06/nutricion.rb', line 8

def saturadas
  @saturadas
end

#vitaminasObject

Permite la lectura y acceso de estas variables



8
9
10
# File 'lib/prct06/nutricion.rb', line 8

def vitaminas
  @vitaminas
end

Instance Method Details

#+(other) ⇒ Object



236
237
238
# File 'lib/prct06/nutricion.rb', line 236

def +(other)
	self.valorEnergeticoKcal.round(2) + other.valorEnergeticoKcal.round(2)
end

#<=>(aux) ⇒ bool

Operador <=> para el modulo Comparable

Parameters:

  • aux (Etiqueta)

    Objeto de tipo etiqueta

Returns:

  • (bool)

    -1 menor, 0 igual, 1 mayor



232
233
234
# File 'lib/prct06/nutricion.rb', line 232

def <=>(aux)
	return self.valorEnergeticoKcal <=> aux.valorEnergeticoKcal
end

#almidonporcionObject

Calcula el almidón por porción



124
125
126
# File 'lib/prct06/nutricion.rb', line 124

def almidonporcion
	((almidon.to_f*25)/100).round(2)
end

#azucaresIRObject

Calcula el IR de los azucares



59
60
61
# File 'lib/prct06/nutricion.rb', line 59

def azucaresIR
	((valorEnergeticoKJ.to_f*90)/8400).round(2)
end

#azucaresIRporcionObject

Calcula el IR de los azúcares por porción



164
165
166
# File 'lib/prct06/nutricion.rb', line 164

def azucaresIRporcion
	((azucaresIR.to_f*25)/100).round(2)
end

#azucaresporcionObject

Calcula los azúcares por porción



114
115
116
# File 'lib/prct06/nutricion.rb', line 114

def azucaresporcion
	((azucares.to_f*25)/100).round(2)
end

#fibrasporcionObject

Calcula la fibra por porción



129
130
131
# File 'lib/prct06/nutricion.rb', line 129

def fibrasporcion
	((fibra.to_f*25)/100).round(2)
end

#grasaIRObject

Calcula el IR de la grasa a partir de una etiqueta



44
45
46
# File 'lib/prct06/nutricion.rb', line 44

def grasaIR
	((valorEnergeticoKJ.to_f*70)/8400).round(2)
end

#grasasIRporcionObject

Calcula el IR de las grasas por porción



149
150
151
# File 'lib/prct06/nutricion.rb', line 149

def grasasIRporcion
	((grasaIR.to_f*25)/100).round(2)
end

#grasasporcionObject

Calcula las grasas por porción



89
90
91
# File 'lib/prct06/nutricion.rb', line 89

def grasasporcion
        ((grasas.to_f*25)/100).round(2)
end

#hidratosIRObject

Calcula el IR de los hidratos



54
55
56
# File 'lib/prct06/nutricion.rb', line 54

def hidratosIR
	((valorEnergeticoKJ.to_f*260)/8400).round(2)
end

#hidratosIRporcionObject

Calcula el IR de los hidratos por porción



159
160
161
# File 'lib/prct06/nutricion.rb', line 159

def hidratosIRporcion
	((hidratosIR.to_f*25)/100).round(2)
end

#hidratosporcionObject

Calcula los hidratos por porción



109
110
111
# File 'lib/prct06/nutricion.rb', line 109

def hidratosporcion
	((hidratos.to_f*25)/100).round(2)
end

#monoporcionObject

Calcula las grasas monoinsaturadas por porción



99
100
101
# File 'lib/prct06/nutricion.rb', line 99

def monoporcion
		((mono.to_f*25)/100).round(2)
end

#polialcoholporcionObject

Calcula los polialcoholes por porción



119
120
121
# File 'lib/prct06/nutricion.rb', line 119

def polialcoholporcion
	((polial.to_f*25)/100).round(2)
end

#poliporcionObject

Calcula las grasas polinsaturadas por porción



104
105
106
# File 'lib/prct06/nutricion.rb', line 104

def poliporcion
	((poli.to_f*25)/100).round(2)
end

#proteinasIRObject

Calcula el IR de la cantidad de proteinas



64
65
66
# File 'lib/prct06/nutricion.rb', line 64

def proteinasIR
	((valorEnergeticoKJ.to_f*50)/8400).round(2)
end

#proteinasIRporcionObject

Calcula el IR de las proteinas por porción



169
170
171
# File 'lib/prct06/nutricion.rb', line 169

def proteinasIRporcion
	((proteinasIR.to_f*25)/100).round(2)
end

#proteinasporcionObject

Calcula las proteinas por porción



134
135
136
# File 'lib/prct06/nutricion.rb', line 134

def proteinasporcion
	((proteinas.to_f*25)/100).round(2)
end

#salIRObject

Calcula el IR de los gramos de sal



69
70
71
# File 'lib/prct06/nutricion.rb', line 69

def salIR
	((valorEnergeticoKJ.to_f*6)/8400).round(2)
end

#salIRporcionObject

Calcula el IR de la sal por porción



174
175
176
# File 'lib/prct06/nutricion.rb', line 174

def salIRporcion
	((salIR.to_f*25)/100).round(2)
end

#salporcionObject

Calcula la sal por porción



139
140
141
# File 'lib/prct06/nutricion.rb', line 139

def salporcion
	((sal.to_f*25)/100).round(2)
end

#saturadasIRObject

Calcula el IR de las grasas saturadas



49
50
51
# File 'lib/prct06/nutricion.rb', line 49

def saturadasIR
	((valorEnergeticoKJ.to_f*20)/8400).round(2)
end

#saturadasIRporcionObject

Calcula el IR de las saturadas por porción



154
155
156
# File 'lib/prct06/nutricion.rb', line 154

def saturadasIRporcion
	((saturadasIR.to_f*25)/100).round(2)
end

#saturadasporcionObject

Calcula las grasas saturadas por porción



94
95
96
# File 'lib/prct06/nutricion.rb', line 94

def saturadasporcion
	((saturadas.to_f*25)/100).round(2)
end

#to_s2colObject

Método para transformar en string las dos primeras columnas



184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
# File 'lib/prct06/nutricion.rb', line 184

def to_s2col
	"Por 100 g o 100 ml de producto | IR (por 100 g o 100 ml de producto) |\n " +
               "Valor energético (kj/kcal) | " +  
               "#{valorEnergeticoKJ}/#{valorEnergeticoKcal} | #{valorEnergeticoKJ}% |\n" +
               "Grasas de las cuales: | #{grasas} | #{grasaIR}%\n" +
               "Saturadas | #{saturadas} | #{saturadasIR} |\n" +
               "Monoinsaturadas | #{mono} | - |\n" +
               "Poliinsaturadas | #{poli} | - |\n" + 
               "Hidratos de carbono de los cuales: #{hidratos} | #{hidratosIR} |\n" +
               "Azucares | #{azucares} | #{azucaresIR}\n" +
               "Polialcoholes | #{polial} | - |\n" +
               "Almidón | #{almidon} | - |\n" +
               "Fibra alimentaria | #{fibra} | - |\n" + 
               "Proteinas | #{proteinas} | #{proteinasIR} |\n" +
               "Sal | #{sal} | #{salIR} |\n" +
               "Vitaminas/mineral | #{vitaminas} |\n"
end

#to_senteraObject

Método para transformar los datos en string



203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
# File 'lib/prct06/nutricion.rb', line 203

def to_sentera
	"Por 100 g o 100 ml de producto | IR (por 100 g o 100 ml de producto) | " +
               "Por porción de 25 g | IR (por porción de 25 g de producto) |\n" +
               " Valor energético (kj/kcal) | " +
               "#{valorEnergeticoKJ}/#{valorEnergeticoKcal} | #{valorEnergeticoKJ}% |" +
               " #{valorEKJporcion} | #{valorEKcalporcion}\n" +
               "Grasas de las cuales: | #{grasas} | #{grasaIR}% | #{grasasporcion} | " +
               "#{grasasIRporcion}\n" +
               "Saturadas | #{saturadas} | #{saturadasIR}% | #{saturadasporcion} | " + 
               "#{saturadasIRporcion}\n" +
               "Monoinsaturadas | #{mono} | - | #{monoporcion} | - |\n" +
               "Poliinsaturadas | #{poli} | - | #{poliporcion} | - |\n" +
               "Hidratos de carbono de los cuales: #{hidratos} | #{hidratosIR} | " +
               "#{hidratosporcion} | #{hidratosIRporcion} |\n" +
               "Azucares | #{azucares} | #{azucaresIR} | #{azucaresporcion} | #{azucaresIRporcion} |" +
               "Polialcoholes | #{polial} | - | #{polialcoholporcion} | - |\n" +
               "Almidón | #{almidon} | - | #{almidonporcion} | - |\n" +
               "Fibra alimentaria | #{fibra} | - | #{fibrasporcion} | - |\n" +
               "Proteinas | #{proteinas} | #{proteinasIR} | #{proteinasporcion} | " +
               "#{proteinasIRporcion} |\n" +
               "Sal | #{sal} | #{salIR} | #{salporcion} | #{salIRporcion} |\n" +
               "Vitaminas/mineral | #{vitaminas} | #{vitaminasIR} | #{vitaminasporcion} | " +
               "#{vitaminasIRporcion} |"
end

#valorEKcalporcionObject

Calcula el valor energético por porción en Kcal



84
85
86
# File 'lib/prct06/nutricion.rb', line 84

def valorEKcalporcion
        ((valorEnergeticoKcal.to_f*25)/100).round(2)
end

#valorEKJporcionObject

Calcula el valor energético por porción KJ



79
80
81
# File 'lib/prct06/nutricion.rb', line 79

def valorEKJporcion
	((valorEnergeticoKJ.to_f*25)/100).round(2)
end

#valorEnergeticoKcalObject

Calcula el valor energético en Kcal



37
38
39
40
41
# File 'lib/prct06/nutricion.rb', line 37

def valorEnergeticoKcal
	kcal = ((grasas.to_f * 9) + (saturadas.to_f * 9) + (mono.to_f * 9) + (poli.to_f * 9) + (hidratos.to_f * 4) + (azucares.to_f * 4) + (polial.to_f * 2.4) + (almidon.to_f * 4) + (fibra.to_f * 2) + (proteinas.to_f * 4) + (sal.to_f * 6))
	
	kcal.round(2)
end

#valorEnergeticoKJObject

Calcula el valor energético en KJ



30
31
32
33
34
# File 'lib/prct06/nutricion.rb', line 30

def valorEnergeticoKJ
	kj = ((grasas.to_f * 37) + (saturadas.to_f * 37) + (mono.to_f * 37) + (poli.to_f * 37) + (hidratos.to_f * 17) + (azucares.to_f * 17) + (polial.to_f * 10) + (almidon.to_f * 17) + (fibra.to_f * 8) + (proteinas.to_f * 17) + (sal.to_f * 25)).round(2)
	
	kj.round(2)
end

#vitaminasIRObject

Calcula el IR de las vitaminas



74
75
76
# File 'lib/prct06/nutricion.rb', line 74

def vitaminasIR
	((valorEnergeticoKJ.to_f*260)/8400).round(2)
end

#vitaminasIRporcionObject

Calcula el IR de las vitamincas en porción



179
180
181
# File 'lib/prct06/nutricion.rb', line 179

def vitaminasIRporcion
	((vitaminasIR.to_f*25)/100).round(2)
end

#vitaminasporcionObject

Calcula las vitaminas por porción



144
145
146
# File 'lib/prct06/nutricion.rb', line 144

def vitaminasporcion
	((vitaminas.to_f*25)/100).round(2)
end