Class: Pacientes

Inherits:
Individuo show all
Defined in:
lib/Individuo.rb

Instance Attribute Summary collapse

Attributes inherited from Individuo

#nombre

Instance Method Summary collapse

Methods inherited from Individuo

#es

Constructor Details

#initialize(nombre, datos, actividad_fisica) ⇒ Pacientes

Returns a new instance of Pacientes.



52
53
54
55
56
# File 'lib/Individuo.rb', line 52

def initialize(nombre,datos, actividad_fisica)
    super(nombre)
    @datos = datos #datos antropometricos
    @actividad_fisica = actividad_fisica
end

Instance Attribute Details

#actividad_fisicaObject (readonly)

Returns the value of attribute actividad_fisica.



50
51
52
# File 'lib/Individuo.rb', line 50

def actividad_fisica
  @actividad_fisica
end

#datosObject (readonly)

Returns the value of attribute datos.



50
51
52
# File 'lib/Individuo.rb', line 50

def datos
  @datos
end

Instance Method Details

#<=>(other) ⇒ Object



168
169
170
# File 'lib/Individuo.rb', line 168

def <=>(other)
    gasto_energetico_total <=> other.gasto_energetico_total
end

#==(other) ⇒ Object



58
59
60
61
62
63
64
# File 'lib/Individuo.rb', line 58

def ==(other)
    if other.is_a? Individuo
        nombre == other.nombre
    elsif
        false
    end
end

#efecto_termogenoObject

Parameters:

No recibe ninguno

Returns:

Un float con el resultado de la operacion



128
129
130
131
132
# File 'lib/Individuo.rb', line 128

def efecto_termogeno
    
    gasto_energetico_basal * 0.10
    
end

#gasto_actividad_fisicaObject

Parameters:

No recibe ninguno

Returns:

Un float con el resultado de la operacion



141
142
143
144
145
146
147
148
149
150
151
152
153
# File 'lib/Individuo.rb', line 141

def gasto_actividad_fisica
    
    if @actividad_fisica == "reposo"
        gasto_energetico_basal * 0.0
    elsif @actividad_fisica == "ligera"
        gasto_energetico_basal * 0.12
    elsif @actividad_fisica == "moderada"
        gasto_energetico_basal * 0.27
    elsif @actividad_fisica == "intensa"
        gasto_energetico_basal * 0.54
    end
    
end

#gasto_energetico_basalObject

Define el metodo para calcular el gasto_energetico_basal

Parameters:

No recibe ninguno

Returns:

Un float con el resultado de la operacion



107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/Individuo.rb', line 107

def gasto_energetico_basal
    
    if @datos.sexo == 0

        (10 * @datos.peso) + (6.25 * @datos.talla) - (5 * @datos.edad) - 161
        
    elsif @datos.sexo == 1
    
        (10 * @datos.peso) + (6.25 * @datos.talla) - (5 * @datos.edad) + 5
    
    end
    
end

#gasto_energetico_totalObject

Define el metodo para calcular el gasto_energetico_total

Parameters:

No recibe ninguno

Returns:

Un float con el resultado de la operacion



162
163
164
165
166
# File 'lib/Individuo.rb', line 162

def gasto_energetico_total
    
    gasto_energetico_basal + efecto_termogeno + gasto_actividad_fisica
    
end

#indice_corporalObject

Comprueba entre que valores esta el icm de un pacuente y determina su estado corporal

Parameters:

No recibe ninguno

Returns:

Un string con el peso del paciente



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/Individuo.rb', line 73

def indice_corporal
    if @datos.indice_masa_corporal <= 18.5
        "Bajo peso"
    elsif @datos.indice_masa_corporal > 18.5 and @datos.indice_masa_corporal <= 24.9
        "Peso adecuado"
    elsif @datos.indice_masa_corporal > 25.0 and @datos.indice_masa_corporal <= 29.9
        "Sobrepeso"
    elsif @datos.indice_masa_corporal > 30.0 and @datos.indice_masa_corporal <= 34.9
        "Obesidad grado 1"
    elsif @datos.indice_masa_corporal > 35.0 and @datos.indice_masa_corporal <= 39.9
        "Obesidad grado 2"
    elsif @datos.indice_masa_corporal > 40
        "Obesidad grado 3"
    end
end

#peso_teorico_idealObject

Define el metodo para calcular el peso teorico ideal

Parameters:

No recibe ninguno

Returns:

Un float con el resultado de la operacion



96
97
98
# File 'lib/Individuo.rb', line 96

def peso_teorico_ideal
   ((@datos.talla * 100) - 150) * 0.75 + 50 
end

#to_sObject

Define el metodo para imprimir por pantalla

Parameters:

No recibe ninguno

Returns:

Un string con el contenido de las variables



179
180
181
# File 'lib/Individuo.rb', line 179

def to_s
    "#{@datos.indice_masa_corporal}"
end