Class: ImcAlves::Pessoa

Inherits:
Object
  • Object
show all
Defined in:
lib/imc_alves.rb

Overview

Classe saúde. Calcular o IMC (Índice de massa corporal)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(peso, altura) ⇒ Pessoa

peso | altura



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/imc_alves.rb', line 13

def initialize(peso, altura)
  @peso = peso
  @altura = altura
  @imc = calc_imc
  @en_index = 0

  @est_nut = {
    'Desnutrição Grau V': [10, "< 10"],
    'Desnutrição Grau IV': [13, "10 a 12.9"],
    'Desnutrição Grau III': [16, "13 a 15.9"],
    'Desnutrição Grau II': [17, "16 a 16.9"],
    'Desnutrição Grau I': [18.5, "17 a 18.4"],
    'Normal': [25, "18.5 a 24.9"],
    'Pré-obesidade': [30, "25 a 29.9"],
    'Obesidade Grau I': [35, "30 a 34.9"],
    'Obesidade Grau II': [40, "35 a 39.9"],
    'Obesidade Grau III': [1000, "> 40"]
  }

  @estado_nutricional = est_nutri
end

Instance Attribute Details

#estado_nutricionalObject (readonly)

Returns the value of attribute estado_nutricional.



10
11
12
# File 'lib/imc_alves.rb', line 10

def estado_nutricional
  @estado_nutricional
end

#imcObject (readonly)

Returns the value of attribute imc.



10
11
12
# File 'lib/imc_alves.rb', line 10

def imc
  @imc
end

Instance Method Details

#calc_imcObject



35
36
37
# File 'lib/imc_alves.rb', line 35

def calc_imc
  (@peso / @altura**2).round(2)
end

#statusObject



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/imc_alves.rb', line 39

def status
  puts "IMC: #{@imc}"
  puts "Estado Nutricional: #{@estado_nutricional}"
  puts "Valor de referência: #{@est_nut[@estado_nutricional][1]}"
  if @estado_nutricional == :Normal
    puts "Parabéns! Você está no peso ideal"
  else
    peso = (24 * @altura**2).round(1)
    puts "Seu peso ideal é #{peso}kg"
  end
end