Class: Nutricional_label

Inherits:
Object
  • Object
show all
Includes:
Comparable
Defined in:
lib/Nutricional_label.rb

Overview

Clase Nutricional_label almacena los datos de los alimentos

Instance Attribute Summary collapse

Instance Method Summary collapse

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

#azucaresObject (readonly)

Returns the value of attribute azucares.



12
13
14
# File 'lib/Nutricional_label.rb', line 12

def azucares
  @azucares
end

#grasaObject (readonly)

Returns the value of attribute grasa.



12
13
14
# File 'lib/Nutricional_label.rb', line 12

def grasa
  @grasa
end

#grasa_saturadaObject (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_carbonoObject (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_etiquetaObject (readonly)

Returns the value of attribute nombre_etiqueta.



12
13
14
# File 'lib/Nutricional_label.rb', line 12

def nombre_etiqueta
  @nombre_etiqueta
end

#proteinasObject (readonly)

Returns the value of attribute proteinas.



12
13
14
# File 'lib/Nutricional_label.rb', line 12

def proteinas
  @proteinas
end

#salObject (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

#clasificarObject

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_KcalObject

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_KJObject

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_nameObject

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

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_sObject

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