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

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.



99
100
101
102
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 99

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



87
88
89
90
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 87

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

#calculo_fibraObject

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



105
106
107
108
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 105

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

#calculo_grasasObject

Método para calcular las grasas totales.



57
58
59
60
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 57

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

#calculo_hidratosObject

Método para calcular los hidratos totales.



63
64
65
66
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 63

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

#calculo_irObject

Método para calcular la ingesta recomendada.



137
138
139
140
141
142
143
144
145
146
147
148
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 137

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.



131
132
133
134
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 131

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.



124
125
126
127
128
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 124

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.



75
76
77
78
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 75

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

#calculo_polialcoholesObject

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



93
94
95
96
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 93

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.



81
82
83
84
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 81

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.



111
112
113
114
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 111

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

#calculo_salObject

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



117
118
119
120
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 117

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.



69
70
71
72
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 69

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

#to_sObject

Método para mostrar los datos del alimento.



151
152
153
154
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 151

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