class Individuo

Representación de un individuo

@author Eugenio José Gonzalez Luis @since 1.0.0 @attr_reader String nombre Nombre del individuo @attr_reader Boolean paciente Determina si el individuo es un paciente o no @attr_reader Boolean t_obesidad Determina si el individuo esta recibiendo tratamiendo de obesidad o no

Constants

VERSION

Version de la clase Individuo

Attributes

nombre[R]
paciente[R]
t_obesidad[R]

Public Class Methods

new(nombre, paciente, t_obesidad, a, b, c, d) click to toggle source

Constructor de un individuo

@param [String] nombre Nombre del individuo @param [Boolean] paciente Determina si el individuo es un paciente o no @param [Boolean] t_obesidad Determina si el individuo esta recibiendo tratamiendo de obesidad o no @param [Number] a peso del paciente @param [Number] b altura del paciente @param [Number] c edad del paciente @param [1,0] d sexo del paciente

@return [Individuo] objeto

Calls superclass method IMC::new
# File lib/individuo.rb, line 25
def initialize(nombre, paciente, t_obesidad, a, b, c, d)
    @nombre = nombre
    @paciente = paciente
    @t_obesidad = t_obesidad
    if t_obesidad
        super(a,b,c,d)
    end
end

Public Instance Methods

<=>(other) click to toggle source

Metodo para comparar dos individuos @param [Individuo] otro individuo a comparar

@return [-1,0,1] -1 si es menor, 0 si son iguales, 1 si es mayor

# File lib/individuo.rb, line 66
def <=>(other)
    calcular_imc <=> other.calcular_imc
end
cat_peso() click to toggle source

Metodo que clasifica individuos segun su imc

@return [String] devuelve un string con la clasificación

# File lib/individuo.rb, line 37
def cat_peso
    if(!t_obesidad)
        return "Sin datos recogidos"
    elsif(calcular_imc < 18.5)
        return "Bajo peso"
    elsif(calcular_imc < 24.9)
        return "Saludable"
    elsif(calcular_imc < 29.9)
        return "Sobrepeso"
    elsif(calcular_imc < 39.9)
        return "Obesidad"
    else 
        return "Obesidad Extrema"
    end
end
efecto_termogeno() click to toggle source

Metodo para calcular el efecto termogeno

@return [Number] efecto termogeno del individuo

# File lib/individuo.rb, line 87
def efecto_termogeno
    tmb * 0.1
end
gasto_actividad_fisica(cantidad) click to toggle source

Metodo para calcular el gasto de la actividad fisica @param [String] tipo de actividad fisica realizado

@return [Number] el gasto de la actividad fisica del individuo

# File lib/individuo.rb, line 95
def gasto_actividad_fisica(cantidad)
    if (cantidad == "reposo")
        return 0
    elsif (cantidad == "ligera")
        return tmb * 0.12
    elsif (cantidad == "moderada")
        return tmb * 0.27
    else
        return tmb * 0.54
    end
end
gasto_energetico_total(cantidad) click to toggle source

Metodo para calcular el gasto total del individuo @param [String] tipo de actividad fisica realizado

@return [Number] el gasto total del individuo del individuo

# File lib/individuo.rb, line 111
def gasto_energetico_total(cantidad)
    tmb + efecto_termogeno + gasto_actividad_fisica(cantidad)
end
peso_ideal() click to toggle source

Metodo para calcular peso ideal

@return [Number] peso ideal del individuo

# File lib/individuo.rb, line 73
def peso_ideal
    ((@altura * 100) - 150) * 0.75 + 50
end
tmb() click to toggle source

Metodo para calcular la tmb

@return [Number] tmb del individuo

# File lib/individuo.rb, line 80
def tmb
    10*@peso + ((@altura * 100) * 6.25) - 5 * @edad + 5 + ((1-@sexo) * 166)
end
to_s() click to toggle source

Convierte el objeto a una cadena de caracteres

@return [String] devuelve el individuo como un string

Calls superclass method IMC#to_s
# File lib/individuo.rb, line 55
def to_s
    rval = "#{@nombre}"
    if(t_obesidad)
        rval += super
    end
    rval
end