Class: Nutricion
- Inherits:
-
Object
- Object
- Nutricion
- Includes:
- Comparable
- Defined in:
- lib/InforNutricional/CodeInforNutricional.rb
Overview
Clase que calcula la información nutricional de una etiqueta
Instance Attribute Summary collapse
-
#almidon ⇒ Object
readonly
Returns the value of attribute almidon.
-
#azucares ⇒ Object
readonly
Returns the value of attribute azucares.
-
#fibra ⇒ Object
readonly
Returns the value of attribute fibra.
-
#grasas ⇒ Object
readonly
Returns the value of attribute grasas.
-
#hidratos ⇒ Object
readonly
Returns the value of attribute hidratos.
-
#kcal ⇒ Object
readonly
Returns the value of attribute kcal.
-
#kj ⇒ Object
readonly
Returns the value of attribute kj.
-
#minerales ⇒ Object
readonly
Returns the value of attribute minerales.
-
#monoinsaturadas ⇒ Object
readonly
Returns the value of attribute monoinsaturadas.
-
#nombre_alimento ⇒ Object
readonly
Returns the value of attribute nombre_alimento.
-
#polialcoholes ⇒ Object
readonly
Returns the value of attribute polialcoholes.
-
#polinsaturadas ⇒ Object
readonly
Returns the value of attribute polinsaturadas.
-
#proteinas ⇒ Object
readonly
Returns the value of attribute proteinas.
-
#sal ⇒ Object
readonly
Returns the value of attribute sal.
-
#saturadas ⇒ Object
readonly
Returns the value of attribute saturadas.
-
#vitaminas ⇒ Object
readonly
Returns the value of attribute vitaminas.
Instance Method Summary collapse
- #+(other) ⇒ Object
-
#<=>(other) ⇒ Object
Método para comparar dos objetos.
-
#calculo_almidon ⇒ Object
Método para calcular kcal y kj del almidón.
-
#calculo_azucares ⇒ Object
Método para calcular kcal y kj de los azúcares.
-
#calculo_fibra ⇒ Object
Método para calcular kcal y kj de la fibra.
-
#calculo_grasas ⇒ Object
Método para calcular las grasas totales.
-
#calculo_hidratos ⇒ Object
Método para calcular los hidratos totales.
-
#calculo_ir ⇒ Object
Método para calcular la ingesta recomendada.
-
#calculo_kcal ⇒ Object
Método para calcular kcal totales del alimento.
-
#calculo_kj ⇒ Object
Método para calcular kj totales del alimento.
-
#calculo_monoinsaturadas ⇒ Object
Método para calcular kcal y kj de las grasas monoinsaturadas.
-
#calculo_polialcoholes ⇒ Object
Método para calcular kcal y kj de los polialcoholes.
-
#calculo_polinsaturadas ⇒ Object
Método para calcular kcal y kj de las grasas polinsaturadas.
-
#calculo_proteinas ⇒ Object
Método para calcular kcal y kj de las proteínas.
-
#calculo_sal ⇒ Object
Método para calcular kcal y kj de la sal.
-
#calculo_saturadas ⇒ Object
Método para calcular kcal y kj de las grasas saturadas.
-
#initialize(nombre_alimento, saturadas, monoinsaturadas, polinsaturadas, azucares, polialcoholes, almidon, fibra, proteinas, sal, vitaminas, minerales) ⇒ Nutricion
constructor
Método initialize de la clase.
-
#to_s ⇒ Object
Método para mostrar los datos del alimento.
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
#almidon ⇒ Object (readonly)
Returns the value of attribute almidon.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def almidon @almidon end |
#azucares ⇒ Object (readonly)
Returns the value of attribute azucares.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def azucares @azucares end |
#fibra ⇒ Object (readonly)
Returns the value of attribute fibra.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def fibra @fibra end |
#grasas ⇒ Object (readonly)
Returns the value of attribute grasas.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def grasas @grasas end |
#hidratos ⇒ Object (readonly)
Returns the value of attribute hidratos.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def hidratos @hidratos end |
#kcal ⇒ Object (readonly)
Returns the value of attribute kcal.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def kcal @kcal end |
#kj ⇒ Object (readonly)
Returns the value of attribute kj.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def kj @kj end |
#minerales ⇒ Object (readonly)
Returns the value of attribute minerales.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def minerales @minerales end |
#monoinsaturadas ⇒ Object (readonly)
Returns the value of attribute monoinsaturadas.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def monoinsaturadas @monoinsaturadas end |
#nombre_alimento ⇒ Object (readonly)
Returns the value of attribute nombre_alimento.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def nombre_alimento @nombre_alimento end |
#polialcoholes ⇒ Object (readonly)
Returns the value of attribute polialcoholes.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def polialcoholes @polialcoholes end |
#polinsaturadas ⇒ Object (readonly)
Returns the value of attribute polinsaturadas.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def polinsaturadas @polinsaturadas end |
#proteinas ⇒ Object (readonly)
Returns the value of attribute proteinas.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def proteinas @proteinas end |
#sal ⇒ Object (readonly)
Returns the value of attribute sal.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def sal @sal end |
#saturadas ⇒ Object (readonly)
Returns the value of attribute saturadas.
4 5 6 |
# File 'lib/InforNutricional/CodeInforNutricional.rb', line 4 def saturadas @saturadas end |
#vitaminas ⇒ Object (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_almidon ⇒ Object
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_azucares ⇒ Object
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_fibra ⇒ Object
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_grasas ⇒ Object
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_hidratos ⇒ Object
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_ir ⇒ Object
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_kcal ⇒ Object
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_kj ⇒ Object
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_monoinsaturadas ⇒ Object
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_polialcoholes ⇒ Object
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_polinsaturadas ⇒ Object
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_proteinas ⇒ Object
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_sal ⇒ Object
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_saturadas ⇒ Object
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_s ⇒ Object
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 |