Class: Nutricion

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/InforNutricional/CodeInforNutricional.rb

Overview

Clase que calcula la información nutricional de una etiqueta

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(nombre_alimento, saturadas, monoinsaturadas, polinsaturadas, azucares, polialcoholes, almidon, fibra, proteinas, sal, vitaminas, minerales) ⇒ Nutricion

Método initialize de la clase.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 9

def initialize(nombre_alimento, saturadas, monoinsaturadas, polinsaturadas, azucares, polialcoholes, almidon, fibra, proteinas, sal, vitaminas, minerales)
    # Variables de instancia
    @nombre_alimento = nombre_alimento
    @saturadas = saturadas
    @monoinsaturadas = monoinsaturadas
    @polinsaturadas = polinsaturadas  
    @azucares = azucares
    @polialcoholes = polialcoholes
    @almidon = almidon
    @fibra = fibra
    @proteinas = proteinas
    @sal = sal
    @vitaminas = vitaminas
    @minerales = minerales
    
    #Métodos 
    calculo_grasas()
    calculo_hidratos()
    
    calculo_almidon()
    calculo_azucares()
    calculo_fibra()
    calculo_monoinsaturadas()
    calculo_polialcoholes()
    calculo_polinsaturadas()
    calculo_proteinas()
    calculo_sal()
    calculo_saturadas()
    
    calculo_kj()
    calculo_kcal()
    
    calculo_ir()
    
    to_s()
    
    
    
end

Instance Attribute Details

#almidonObject (readonly)

Returns the value of attribute almidon.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def almidon
  @almidon
end

#azucaresObject (readonly)

Returns the value of attribute azucares.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def azucares
  @azucares
end

#fibraObject (readonly)

Returns the value of attribute fibra.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def fibra
  @fibra
end

#grasasObject (readonly)

Returns the value of attribute grasas.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def grasas
  @grasas
end

#hidratosObject (readonly)

Returns the value of attribute hidratos.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def hidratos
  @hidratos
end

#kcalObject (readonly)

Returns the value of attribute kcal.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def kcal
  @kcal
end

#kjObject (readonly)

Returns the value of attribute kj.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def kj
  @kj
end

#mineralesObject (readonly)

Returns the value of attribute minerales.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def minerales
  @minerales
end

#monoinsaturadasObject (readonly)

Returns the value of attribute monoinsaturadas.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def monoinsaturadas
  @monoinsaturadas
end

#nombre_alimentoObject (readonly)

Returns the value of attribute nombre_alimento.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def nombre_alimento
  @nombre_alimento
end

#polialcoholesObject (readonly)

Returns the value of attribute polialcoholes.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def polialcoholes
  @polialcoholes
end

#polinsaturadasObject (readonly)

Returns the value of attribute polinsaturadas.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def polinsaturadas
  @polinsaturadas
end

#proteinasObject (readonly)

Returns the value of attribute proteinas.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def proteinas
  @proteinas
end

#salObject (readonly)

Returns the value of attribute sal.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def sal
  @sal
end

#saturadasObject (readonly)

Returns the value of attribute saturadas.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def saturadas
  @saturadas
end

#vitaminasObject (readonly)

Returns the value of attribute vitaminas.



4
5
6
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4

def vitaminas
  @vitaminas
end

Instance Method Details

#+(other) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 56

def +(other)
    return nil unless other.instance_of?Nutricion
    Nutricion.new(nombre_alimento + other.nombre_alimento, 
                 saturadas + other.saturadas, 
                 monoinsaturadas + other.monoinsaturadas, 
                 polinsaturadas + other.polinsaturadas, 
                 azucares + other.azucares, 
                 polialcoholes + other.polialcoholes, 
                 almidon + other.almidon, 
                 fibra + other.fibra, 
                 proteinas + other.proteinas,
                 sal + other.sal,
                 vitaminas + other.vitaminas, 
                 minerales + other.minerales)
end

#<=>(other) ⇒ Object

Método para comparar dos objetos



51
52
53
54
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 51

def  <=>(other)
    return nil unless other.instance_of?Nutricion
    @kcal <=> other.kcal
end

#calculo_almidonObject

Método para calcular kcal y kj del almidón.



115
116
117
118
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 115

def calculo_almidon()
    @kcal_almidon = @almidon * 4
    @kj_almidon = @almidon * 17
end

#calculo_azucaresObject

Método para calcular kcal y kj de los azúcares



103
104
105
106
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 103

def calculo_azucares()
    @kcal_azucares = @azucares*4
    @kj_azucares = @azucares*17
end

#calculo_fibraObject

Método para calcular kcal y kj de la fibra.



121
122
123
124
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 121

def calculo_fibra()
    @kcal_fibra = @fibra*2
    @kj_fibra = @fibra*8
end

#calculo_grasasObject

Método para calcular las grasas totales.



73
74
75
76
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 73

def calculo_grasas()
    @grasas =  @saturadas + @monoinsaturadas + @polinsaturadas
    @grasas = @grasas.round(2)
end

#calculo_hidratosObject

Método para calcular los hidratos totales.



79
80
81
82
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 79

def calculo_hidratos()
   @hidratos =  @azucares + @polialcoholes + @almidon
   @hidratos = @hidratos.round(2)
end

#calculo_irObject

Método para calcular la ingesta recomendada.



153
154
155
156
157
158
159
160
161
162
163
164
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 153

def calculo_ir()
    @ir_kj = ( (@kj*100)/8400 ).round(2)
    @ir_kcal = ( (@kcal*100)/2000 ).round(2)
    @ir_grasas = ( (@grasas*100)/70 ).round(2)
    @ir_saturadas = ( (@saturadas*100)/20 ).round(2)
    @ir_hidratos = ( (@hidratos*100)/260 ).round(2)
    @ir_azucares = ( (@azucares*100)/90 ).round(2)
    @ir_proteinas = ( (@proteinas*100)/50 ).round(2)
    @ir_sal = ( (@sal*100)/6 ).round(2)
    #vr_minerales?
    #vr_vitaminas?
end

#calculo_kcalObject

Método para calcular kcal totales del alimento.



147
148
149
150
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 147

def calculo_kcal()
    @kcal = @kcal_almidon + @kcal_azucares + @kcal_fibra + @kcal_sal + @kcal_monoinsaturadas + @kcal_polialcoholes + @kcal_polinsaturadas + @kcal_proteinas + @kcal_saturadas 
    @kcal = @kcal.round(2)
end

#calculo_kjObject

Método para calcular kj totales del alimento.



140
141
142
143
144
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 140

def calculo_kj()
    @kj = @kj_almidon + @kj_azucares + @kj_fibra + @kj_sal + @kj_monoinsaturadas + @kj_polialcoholes + @kj_polinsaturadas + @kj_proteinas + @kj_saturadas 
    @kj = @kj.round(2)

end

#calculo_monoinsaturadasObject

Método para calcular kcal y kj de las grasas monoinsaturadas.



91
92
93
94
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 91

def calculo_monoinsaturadas()
    @kcal_monoinsaturadas = @monoinsaturadas*9
    @kj_monoinsaturadas = @monoinsaturadas*37
end

#calculo_polialcoholesObject

Método para calcular kcal y kj de los polialcoholes.



109
110
111
112
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 109

def calculo_polialcoholes()
    @kcal_polialcoholes = @polialcoholes * 2.4
    @kj_polialcoholes = @polialcoholes * 10
end

#calculo_polinsaturadasObject

Método para calcular kcal y kj de las grasas polinsaturadas.



97
98
99
100
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 97

def calculo_polinsaturadas()
    @kcal_polinsaturadas = @polinsaturadas*9
    @kj_polinsaturadas = @polinsaturadas*37
end

#calculo_proteinasObject

Método para calcular kcal y kj de las proteínas.



127
128
129
130
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 127

def calculo_proteinas()
    @kcal_proteinas = @proteinas*4
    @kj_proteinas = @proteinas*17
end

#calculo_salObject

Método para calcular kcal y kj de la sal.



133
134
135
136
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 133

def calculo_sal()
    @kcal_sal = @sal*6
    @kj_sal = @sal*25
end

#calculo_saturadasObject

Método para calcular kcal y kj de las grasas saturadas.



85
86
87
88
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 85

def calculo_saturadas()
    @kcal_saturadas = @saturadas*9
    @kj_saturadas = @saturadas*37
end

#to_sObject

Método para mostrar los datos del alimento.



167
168
169
170
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 167

def to_s()
    "El alimento es #{@nombre_alimento}. \nValor energético: #{@kcal} kcal /#{@kj} kj    |                     % INGESTA RECOMENDADA: #{@ir_kcal}% / #{@ir_kj}% \nGrasas: #{@grasas}    |                                             % INGESTA RECOMENDADA: #{@ir_grasas}%, de las cuales: \n        Saturadas: #{@saturadas} gramos.    |                          % INGESTA RECOMENDADA: #{@ir_saturadas}% \n        Monoinsaturadas: #{@monoinsaturadas} gramos. \n        Polinsaturadas: #{@polinsaturadas} gramos. \nHidratos de carbono: #{@hidratos} gramos.    |                     % INGESTA RECOMENDADA:  #{@ir_hidratos}%, de los cuales: \n        Azucares: #{@azucares} gramos.    |                     % INGESTA RECOMENDADA: #{@ir_azucares}% \n        Polialcoholes: #{@polialcoholes} gramos. \n        Almidon: #{@almidon} gramos.n        \nFibra alimentaria: #{@fibra} gramos.        \nProteinas:  #{@proteinas} gramos.     |                     % INGESTA RECOMENDADA: #{@ir_proteinas}%        \nSal: #{@sal} gramos    |                            % INGESTA RECOMENDADA: #{@ir_sal}%        \nVitaminas: #{@vitaminas} miligramos.        \nMinerales: #{@minerales} miligramos."
 
end