Class: Nutricional_label
- Inherits:
-
Object
- Object
- Nutricional_label
- Includes:
- Comparable
- Defined in:
- lib/Nutricional_label.rb
Overview
Clase Nutricional_label almacena los datos de los alimentos
Instance Attribute Summary collapse
-
#azucares ⇒ Object
readonly
Returns the value of attribute azucares.
-
#grasa ⇒ Object
readonly
Returns the value of attribute grasa.
-
#grasa_saturada ⇒ Object
readonly
Returns the value of attribute grasa_saturada.
-
#hid_carbono ⇒ Object
readonly
Returns the value of attribute hid_carbono.
-
#nombre_etiqueta ⇒ Object
readonly
Returns the value of attribute nombre_etiqueta.
-
#proteinas ⇒ Object
readonly
Returns the value of attribute proteinas.
-
#sal ⇒ Object
readonly
Returns the value of attribute sal.
Instance Method Summary collapse
-
#<=>(other) ⇒ Object
Define el metodo para compara elementos de tipo Nutricional_label.
-
#clasificar ⇒ Object
Indica la cantidad de sal que tiene el alimento.
-
#energetic_value_Kcal ⇒ Object
Calcula el valor energetico de un alimento en Kcal.
-
#energetic_value_KJ ⇒ Object
Calcula el valor energetico de un alimento en KJ.
-
#initialize(nombre_etiqueta, grasa, grasa_saturada, hid_carbono, azucares, proteinas, sal) ⇒ Nutricional_label
constructor
A new instance of Nutricional_label.
-
#label_name ⇒ Object
nombre de la comida.
-
#print_label ⇒ Object
Imprime la etiqueta de informacion nutricional del alimento.
-
#to_s ⇒ Object
Define el metodo para imprimir por pantalla .
Constructor Details
#initialize(nombre_etiqueta, grasa, grasa_saturada, hid_carbono, azucares, proteinas, sal) ⇒ Nutricional_label
Returns a new instance of Nutricional_label.
14 15 16 17 18 19 20 21 22 |
# File 'lib/Nutricional_label.rb', line 14 def initialize(nombre_etiqueta,grasa,grasa_saturada,hid_carbono,azucares,proteinas,sal) @nombre_etiqueta = nombre_etiqueta @grasa = grasa @grasa_saturada = grasa_saturada @hid_carbono = hid_carbono @azucares = azucares @proteinas = proteinas @sal = sal end |
Instance Attribute Details
#azucares ⇒ Object (readonly)
Returns the value of attribute azucares.
12 13 14 |
# File 'lib/Nutricional_label.rb', line 12 def azucares @azucares end |
#grasa ⇒ Object (readonly)
Returns the value of attribute grasa.
12 13 14 |
# File 'lib/Nutricional_label.rb', line 12 def grasa @grasa end |
#grasa_saturada ⇒ Object (readonly)
Returns the value of attribute grasa_saturada.
12 13 14 |
# File 'lib/Nutricional_label.rb', line 12 def grasa_saturada @grasa_saturada end |
#hid_carbono ⇒ Object (readonly)
Returns the value of attribute hid_carbono.
12 13 14 |
# File 'lib/Nutricional_label.rb', line 12 def hid_carbono @hid_carbono end |
#nombre_etiqueta ⇒ Object (readonly)
Returns the value of attribute nombre_etiqueta.
12 13 14 |
# File 'lib/Nutricional_label.rb', line 12 def nombre_etiqueta @nombre_etiqueta end |
#proteinas ⇒ Object (readonly)
Returns the value of attribute proteinas.
12 13 14 |
# File 'lib/Nutricional_label.rb', line 12 def proteinas @proteinas end |
#sal ⇒ Object (readonly)
Returns the value of attribute sal.
12 13 14 |
# File 'lib/Nutricional_label.rb', line 12 def sal @sal end |
Instance Method Details
#<=>(other) ⇒ Object
Define el metodo para compara elementos de tipo Nutricional_label
Parameters:
Recibe un parametro de tipo Nutricional_label
Returns:
Un valor booleano dependiendo del resultado de la operacion
87 88 89 |
# File 'lib/Nutricional_label.rb', line 87 def <=>(other) energetic_value_Kcal <=> other.energetic_value_Kcal end |
#clasificar ⇒ Object
Indica la cantidad de sal que tiene el alimento
Parameters:
Recibe un parametro de tipo Nutricional_label
Returns:
Un string
98 99 100 101 102 103 104 105 106 |
# File 'lib/Nutricional_label.rb', line 98 def clasificar if @sal <= 1 "poca" elsif @sal > 1 and @sal <= 2 "media" elsif @sal > 2 "mucha" end end |
#energetic_value_Kcal ⇒ Object
Calcula el valor energetico de un alimento en Kcal
Parameters:
No recibe parametros
Returns:
Una variable con el resultado de la operaciĆ³n
55 56 57 |
# File 'lib/Nutricional_label.rb', line 55 def energetic_value_Kcal @kcal = (@grasa * 9) + (@grasa_saturada * 9) + (@hid_carbono * 4) + (@azucares * 4) + (@proteinas * 4) + (@sal * 6) end |
#energetic_value_KJ ⇒ Object
Calcula el valor energetico de un alimento en KJ
Parameters:
No recibe parametros
Returns:
Una variable con el resultado de la operaciĆ³n
44 45 46 |
# File 'lib/Nutricional_label.rb', line 44 def energetic_value_KJ @kj = (@grasa * 37) + (@grasa_saturada * 37) + (@hid_carbono * 17) + (@azucares * 17) + (@proteinas * 17) + (@sal * 25) end |
#label_name ⇒ Object
nombre de la comida
Parameters:
No recibe parametros
Returns:
el nombre de la etiqueta almacenado el la variable nombre_etiqueta
31 32 33 34 35 |
# File 'lib/Nutricional_label.rb', line 31 def label_name "#{nombre_etiqueta}" end |
#print_label ⇒ Object
Imprime la etiqueta de informacion nutricional del alimento
Parameters:
No recibe parametros
Returns:
No retorna nada
66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/Nutricional_label.rb', line 66 def print_label puts "#{@nombre_etiqueta}" puts "\nValor energetico o nutriente | por 100g o 100ml de producto " puts "--------------------------------|--------------------------------" puts "valor energetico |" + " #{energetic_value_KJ}" + " KJ/" + "#{energetic_value_Kcal}" + " Kcal" puts "Camtidad de grasas |" + " #{@grasa}g" puts "Camtidad de grasas saturadas |" + " #{@grasa_saturada}g" puts "Camtidad de hidratos de carbono |" + " #{@hid_carbono}g" puts "Camtidad de azucares |" + " #{@azucares}g" puts "Camtidad de proteinas |" + " #{@proteinas}g" puts "Camtidad de sal |" + " #{@sal}g" @nombre_etiqueta end |
#to_s ⇒ Object
Define el metodo para imprimir por pantalla
Parameters:
No recibe ninguno
Returns:
Un string con el contenido de las variables
115 116 117 118 119 |
# File 'lib/Nutricional_label.rb', line 115 def to_s "#{@kcal}" end |