Class: Nutricional
- Inherits:
-
Object
- Object
- Nutricional
- Includes:
- Comparable
- Defined in:
- lib/nutricion/nutricion_code.rb
Overview
Clase para crear etiquetas de Información Nutricional
Instance Attribute Summary collapse
-
#almidon ⇒ Object
readonly
Getters.
-
#azucares ⇒ Object
readonly
Getters.
-
#fibra ⇒ Object
readonly
Getters.
-
#grasas ⇒ Object
readonly
Getters.
-
#hidratos ⇒ Object
readonly
Getters.
-
#minerales ⇒ Object
readonly
Getters.
-
#monoinsaturadas ⇒ Object
readonly
Getters.
-
#nombre ⇒ Object
readonly
Getters.
-
#polialcoholes ⇒ Object
readonly
Getters.
-
#polinsaturadas ⇒ Object
readonly
Getters.
-
#proteinas ⇒ Object
readonly
Getters.
-
#sal ⇒ Object
readonly
Getters.
-
#saturadas ⇒ Object
readonly
Getters.
-
#suma_kcal ⇒ Object
readonly
Getters.
-
#suma_kj ⇒ Object
readonly
Getters.
-
#vitaminas ⇒ Object
readonly
Getters.
Instance Method Summary collapse
-
#+(other) ⇒ Object
Metodo para permitir que las etiquetas se puedan sumar.
-
#<=>(other) ⇒ Object
Metodo para permitir que las etiquetas sean comparables.
-
#grasas_totales ⇒ Object
Metodo para obtener la suma de grasas (parte opcional).
-
#hidratos_totales ⇒ Object
Metodo para obtener la suma de hidratos.
-
#initialize(nombre, saturadas, monoinsaturadas, polinsaturadas, azucares, polialcoholes, almidon, fibra, proteinas, vitaminas, minerales, sal) ⇒ Nutricional
constructor
Constructor de la clase.
-
#ir_individual ⇒ Object
Calculo del ir individual.
-
#kcal_nutricionales_individuales ⇒ Object
kcal individuales de cada alimento.
-
#kcal_nutricionales_totales ⇒ Object
Suma de todas las kcal y kj individuales de cada alimentos.
-
#to_s ⇒ Object
Muestreo de la tabla.
Constructor Details
#initialize(nombre, saturadas, monoinsaturadas, polinsaturadas, azucares, polialcoholes, almidon, fibra, proteinas, vitaminas, minerales, sal) ⇒ Nutricional
Constructor de la clase
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 |
# File 'lib/nutricion/nutricion_code.rb', line 13 def initialize(nombre, saturadas, monoinsaturadas, polinsaturadas, azucares, polialcoholes, almidon, fibra, proteinas, vitaminas, minerales, sal) @nombre = nombre @saturadas = saturadas @monoinsaturadas = monoinsaturadas @polinsaturadas = polinsaturadas @azucares = azucares @polialcoholes = polialcoholes @almidon = almidon @fibra = fibra @proteinas = proteinas @vitaminas = vitaminas @minerales = minerales @sal = sal grasas_totales() hidratos_totales() kcal_nutricionales_individuales() kcal_nutricionales_totales() ir_individual() end |
Instance Attribute Details
#almidon ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def almidon @almidon end |
#azucares ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def azucares @azucares end |
#fibra ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def fibra @fibra end |
#grasas ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def grasas @grasas end |
#hidratos ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def hidratos @hidratos end |
#minerales ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def minerales @minerales end |
#monoinsaturadas ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def monoinsaturadas @monoinsaturadas end |
#nombre ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def nombre @nombre end |
#polialcoholes ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def polialcoholes @polialcoholes end |
#polinsaturadas ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def polinsaturadas @polinsaturadas end |
#proteinas ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def proteinas @proteinas end |
#sal ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def sal @sal end |
#saturadas ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def saturadas @saturadas end |
#suma_kcal ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def suma_kcal @suma_kcal end |
#suma_kj ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def suma_kj @suma_kj end |
#vitaminas ⇒ Object (readonly)
Getters
8 9 10 |
# File 'lib/nutricion/nutricion_code.rb', line 8 def vitaminas @vitaminas end |
Instance Method Details
#+(other) ⇒ Object
Metodo para permitir que las etiquetas se puedan sumar
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/nutricion/nutricion_code.rb', line 127 def +(other) return nil unless other.instance_of?Nutricional Nutricional.new(nombre + other.nombre, saturadas + other.saturadas, monoinsaturadas + other.monoinsaturadas, polinsaturadas + other.polinsaturadas, azucares + other.azucares, polialcoholes + other.polialcoholes, almidon + other.almidon, fibra + other.fibra, proteinas + other.proteinas, vitaminas + other.vitaminas, minerales + other.minerales, sal + other.sal) end |
#<=>(other) ⇒ Object
Metodo para permitir que las etiquetas sean comparables
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
# File 'lib/nutricion/nutricion_code.rb', line 108 def <=>(other) return nil unless other.instance_of?Nutricional # @nombre <=> other.nombre # @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 @suma_kcal <=> other.suma_kcal end |
#grasas_totales ⇒ Object
Metodo para obtener la suma de grasas (parte opcional)
42 43 44 45 |
# File 'lib/nutricion/nutricion_code.rb', line 42 def grasas_totales @grasas = @saturadas + @monoinsaturadas + @polinsaturadas @grasas = @grasas.round(2) end |
#hidratos_totales ⇒ Object
Metodo para obtener la suma de hidratos
48 49 50 51 |
# File 'lib/nutricion/nutricion_code.rb', line 48 def hidratos_totales @hidratos = @azucares + @polialcoholes + @almidon @hidratos = @hidratos.round(2) end |
#ir_individual ⇒ Object
Calculo del ir individual
96 97 98 99 100 101 102 103 104 105 |
# File 'lib/nutricion/nutricion_code.rb', line 96 def ir_individual() @ir_kj = ( (@suma_kj * 100) / 8400).round(2) @ir_kcal = ( (@suma_kcal * 100) / 2000).round(2) @ir_grasas = ( (@grasas * 100) / 70).round(2) @ir_aci_graso_s = ( (@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) end |
#kcal_nutricionales_individuales ⇒ Object
kcal individuales de cada alimento
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/nutricion/nutricion_code.rb', line 57 def kcal_nutricionales_individuales() #Kcal de los alimentos @kcal_g_saturadas = @saturadas * 9 @kcal_g_monoinsaturadas = @monoinsaturadas * 9 @kcal_g_polinsaturadas = @polinsaturadas * 9 @kcal_azucares = @azucares * 4 @kcal_polialcoholes = @polialcoholes * 2.4 @kcal_almidon = @almidon * 4 @kcal_fibra = @fibra * 2 @kcal_proteinas = @proteinas * 4 @kcal_sal = @sal * 6 #Kj de los alimentos @kj_g_saturadas = @saturadas * 37 @kj_g_monoinsaturadas = @monoinsaturadas * 37 @kj_g_polinsaturadas = @polinsaturadas * 37 @kj_azucares = @azucares * 17 @kj_polialcoholes = @polialcoholes * 10 @kj_almidon = @almidon * 17 @kj_fibra = @fibra * 8 @kj_proteinas = @proteinas * 17 @kj_sal = @sal * 25 end |
#kcal_nutricionales_totales ⇒ Object
Suma de todas las kcal y kj individuales de cada alimentos
86 87 88 89 90 91 |
# File 'lib/nutricion/nutricion_code.rb', line 86 def kcal_nutricionales_totales() @suma_kcal = (@kcal_g_saturadas + @kcal_g_monoinsaturadas + @kcal_g_polinsaturadas + @kcal_azucares + @kcal_polialcoholes + @kcal_almidon + @kcal_fibra + @kcal_proteinas + @kcal_sal).round(2) @suma_kj = (@kj_g_saturadas + @kj_g_monoinsaturadas + @kj_g_polinsaturadas + @kj_azucares + @kj_polialcoholes + @kj_almidon + @kj_fibra + @kj_proteinas + @kj_sal).round(2) end |
#to_s ⇒ Object
Muestreo de la tabla
145 146 147 148 149 150 151 152 153 154 |
# File 'lib/nutricion/nutricion_code.rb', line 145 def to_s() "El alimento analizado es #{@nombre}." + "\nValor energético: #{@suma_kcal} kcal (#{@ir_kcal}) / #{@suma_kj} kj (#{@ir_kj})." + "\nGrasas: #{@grasas} (#{@ir_grasas}) de las cuales saturadas hay #{@saturadas} gramos (#{@ir_aci_graso_s}), monoinsaturadas hay #{@monoinsaturadas} gramos y de polinsaturadas #{@polinsaturadas} gramos." + "\nTenemos de hidratos: #{@hidratos} gramos (#{@ir_hidratos}), de los cuales, azucares hay #{@azucares} gramos (#{@ir_azucares}), polialcoholes hay #{@polialcoholes} gramos y #{@almidon} gramos." + "\nTenemos de fibra: #{@fibra} gramos." + "\nTenemos de proteinas: #{@proteinas} gramos (#{@ir_proteinas})." + "\nTenemos de sal: #{@sal} gramos (#{@ir_sal})." + "\nTenemos de vitaminas: #{@vitaminas} gramos y de minerales: #{@minerales} gramos." end |