Class: Einutricional::Etiqueta
- Inherits:
-
Object
- Object
- Einutricional::Etiqueta
- Includes:
- Comparable
- Defined in:
- lib/einutricional/etiqueta.rb
Overview
Almacena los datos nutricionales de un alimento
Instance Attribute Summary collapse
-
#almidon ⇒ Object
Returns the value of attribute almidon.
-
#azucares ⇒ Object
Returns the value of attribute azucares.
-
#fibra ⇒ Object
Returns the value of attribute fibra.
-
#grasas ⇒ Object
Returns the value of attribute grasas.
-
#grasas_monosat ⇒ Object
Returns the value of attribute grasas_monosat.
-
#grasas_polisat ⇒ Object
Returns the value of attribute grasas_polisat.
-
#grasas_sat ⇒ Object
Returns the value of attribute grasas_sat.
-
#hidratos ⇒ Object
Returns the value of attribute hidratos.
-
#minerales ⇒ Object
Returns the value of attribute minerales.
-
#nombre ⇒ Object
Returns the value of attribute nombre.
-
#polialcoholes ⇒ Object
Returns the value of attribute polialcoholes.
-
#proteinas ⇒ Object
Returns the value of attribute proteinas.
-
#sal ⇒ Object
Returns the value of attribute sal.
-
#vitaminas ⇒ Object
Returns the value of attribute vitaminas.
Instance Method Summary collapse
-
#<=>(other) ⇒ Fixnum
Operador de comparación.
-
#initialize(nombre, grasas, grasas_sat, grasas_monosat, grasas_polisat, hidratos, azucares, polialcoholes, almidon, fibra, proteinas, sal, vitaminas, minerales) ⇒ Etiqueta
constructor
Constructor que recibe los datos de cada uno de los parametros alimenticios del alimento en cuestión.
-
#ir ⇒ String
Ingesta de referencia.
-
#to_s ⇒ String
Imprime la etiqueta.
-
#valor_energetico(medida = 'cal') ⇒ Fixnum
Calcula el valor energético del alimento.
Constructor Details
#initialize(nombre, grasas, grasas_sat, grasas_monosat, grasas_polisat, hidratos, azucares, polialcoholes, almidon, fibra, proteinas, sal, vitaminas, minerales) ⇒ Etiqueta
el resto de los parámetros son float
Constructor que recibe los datos de cada uno de los parametros alimenticios del alimento en cuestión.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# 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 |
Instance Attribute Details
#almidon ⇒ Object
Returns the value of attribute almidon.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def almidon @almidon end |
#azucares ⇒ Object
Returns the value of attribute azucares.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def azucares @azucares end |
#fibra ⇒ Object
Returns the value of attribute fibra.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def fibra @fibra end |
#grasas ⇒ Object
Returns the value of attribute grasas.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def grasas @grasas end |
#grasas_monosat ⇒ Object
Returns the value of attribute grasas_monosat.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def grasas_monosat @grasas_monosat end |
#grasas_polisat ⇒ Object
Returns the value of attribute grasas_polisat.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def grasas_polisat @grasas_polisat end |
#grasas_sat ⇒ Object
Returns the value of attribute grasas_sat.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def grasas_sat @grasas_sat end |
#hidratos ⇒ Object
Returns the value of attribute hidratos.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def hidratos @hidratos end |
#minerales ⇒ Object
Returns the value of attribute minerales.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def minerales @minerales end |
#nombre ⇒ Object
Returns the value of attribute nombre.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def nombre @nombre end |
#polialcoholes ⇒ Object
Returns the value of attribute polialcoholes.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def polialcoholes @polialcoholes end |
#proteinas ⇒ Object
Returns the value of attribute proteinas.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def proteinas @proteinas end |
#sal ⇒ Object
Returns the value of attribute sal.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def sal @sal end |
#vitaminas ⇒ Object
Returns the value of attribute vitaminas.
5 6 7 |
# File 'lib/einutricional/etiqueta.rb', line 5 def vitaminas @vitaminas end |
Instance Method Details
#<=>(other) ⇒ Fixnum
Operador de comparación
32 33 34 |
# File 'lib/einutricional/etiqueta.rb', line 32 def <=>(other) valor_energetico <=> other.valor_energetico end |
#ir ⇒ String
Ingesta de referencia
91 92 93 94 95 96 97 98 99 100 |
# 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 ⇒ String
Imprime la etiqueta
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# 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') ⇒ Fixnum
Calcula el valor energético del alimento
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# 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 |