class Einutricional::Etiqueta
Almacena los datos nutricionales de un alimento
Attributes
almidon[RW]
azucares[RW]
fibra[RW]
grasas[RW]
grasas_monosat[RW]
grasas_polisat[RW]
grasas_sat[RW]
hidratos[RW]
minerales[RW]
nombre[RW]
polialcoholes[RW]
proteinas[RW]
sal[RW]
vitaminas[RW]
Public Class Methods
new(nombre, grasas, grasas_sat, grasas_monosat, grasas_polisat, hidratos, azucares, polialcoholes, almidon, fibra, proteinas, sal, vitaminas, minerales)
click to toggle source
Constructor que recibe los datos de cada uno de los parametros alimenticios del alimento en cuestión. @param nombre [String] @note el resto de los parámetros son float
# File lib/einutricional/etiqueta.rb, line 12 def initialize(nombre, grasas, grasas_sat, grasas_monosat, grasas_polisat, hidratos, azucares, polialcoholes, almidon, fibra, proteinas, sal, vitaminas, minerales) @nombre = nombre @grasas = grasas @grasas_sat = grasas_sat @grasas_monosat = grasas_monosat @grasas_polisat = grasas_polisat @hidratos = hidratos @azucares = azucares @polialcoholes = polialcoholes @almidon = almidon @fibra = fibra @proteinas = proteinas @sal = sal @vitaminas = vitaminas @minerales = minerales end
Public Instance Methods
<=>(other)
click to toggle source
Operador de comparación @return [Fixnum] 0 si VE1 == VE2, -1 si VE1 < VE2 y 1 si VE1 > VE2
# File lib/einutricional/etiqueta.rb, line 32 def <=>(other) valor_energetico <=> other.valor_energetico end
ir()
click to toggle source
Ingesta de referencia @return [String] la ingesta de referencia de la etiqueta con los porcentajes calculados
# File lib/einutricional/etiqueta.rb, line 91 def ir %(Ingesta de referencia con respecto a 100g Valor energético: #{((valor_energetico / 2000.0) * 100.0).truncate(2)}% Grasa total: #{((@grasas / 70.0) * 100.0).truncate(2)}% Acidos grasos sat.: #{((@grasas_sat / 20.0) * 100.0).truncate(2)}% Hidratos de carbono: #{((@hidratos / 260.0) * 100.0).truncate(2)}% Azúcares: #{((@azucares / 90.0) * 100.0).truncate(2)}% Proteínas: #{((@proteinas / 50.0) * 100.0).truncate(2)}% Sal: #{((@sal / 6.0) * 100.0).truncate(2)}%) end
to_s()
click to toggle source
Imprime la etiqueta @return [String] los valores de la etiqueta
# File lib/einutricional/etiqueta.rb, line 69 def to_s %(Denominación: #{@nombre} Valor energético.......#{valor_energetico} cal Grasas.................#{@grasas} de las cuales saturadas............#{@grasas_sat} monosaturadas........#{@grasas_monosat} poliinsaturadas......#{@grasas_polisat} Hidratos...............#{@hidratos} de los cuales azucares.............#{@azucares} polialcoholes........#{@polialcoholes} almidon..............#{@almidon} Fibra..................#{@fibra} Proteinas..............#{@proteinas} Sal....................#{@sal} Vitaminas..............#{@vitaminas} Minerales..............#{@minerales}) end
valor_energetico(medida = 'cal')
click to toggle source
Calcula el valor energético del alimento @param medida [String] 'cal' si calorias (predeterminado), 'kj' si kilojulios. @return [Fixnum] valor energético
# File lib/einutricional/etiqueta.rb, line 39 def valor_energetico(medida = 'cal') if medida == 'cal' ve = 0.0 ve += @grasas * 9 ve += (@hidratos - @azucares - @polialcoholes - @almidon) * 4 ve += @azucares * 4 # TODO: ¿cual es el factor de conversión del azucar?) ve += @polialcoholes * 2.4 ve += @almidon * 4 ve += @fibra * 2 ve += @proteinas * 4 ve += @sal * 6 ve.truncate(0) elsif medida == 'kj' ve = 0.0 ve += @grasas * 37 ve += (@hidratos - @azucares - @polialcoholes - @almidon) * 17 ve += @azucares * 17 # TODO: ¿cual es el factor de conversión del azucar?) ve += @polialcoholes * 10 ve += @almidon * 17 ve += @fibra * 8 ve += @proteinas * 17 ve += @sal * 25 ve.truncate(0) else raise 'No se ha pasado el argumento correcto a la función.' end end