Class: Nutri::Dieta
Instance Attribute Summary collapse
-
#factor_actividad_fisica ⇒ Object
getter y setter.
-
#food_energy ⇒ Object
getter y setter.
-
#gasto_energetico_total ⇒ Object
getter y setter.
Instance Method Summary collapse
-
#analize ⇒ string
[analize given data and calculate if patientes consumed food was enough or too much for his phys activity].
-
#eat(item) ⇒ Object
[add eaten item to food].
-
#initialize(paciente) ⇒ type
constructor
[initialize].
-
#sport(intensity) ⇒ Object
[change factor of phys activity].
Constructor Details
#initialize(paciente) ⇒ type
- initialize
18 19 20 21 22 23 24 25 26 27 |
# File 'lib/nutri/dieta.rb', line 18 def initialize(paciente) @peso_teorico_ideal = (paciente.talla - 150) * 0.75 + 50 @gasto_energetico_basal = (10 * paciente.peso) + (6.25 * paciente.talla) - (5 * paciente.edad) + ((paciente.sexo==1)? -161 : 5) @efecto_termogeno = @gasto_energetico_basal * 0.1 @factor_actividad_fisica = 0.0 @gasto_actividad_fisica = @gasto_energetico_basal * @factor_actividad_fisica @gasto_energetico_total = @gasto_energetico_basal * @efecto_termogeno + @gasto_actividad_fisica @food = Listas.new() @food_energy = 0.0 end |
Instance Attribute Details
#factor_actividad_fisica ⇒ Object
getter y setter
11 12 13 |
# File 'lib/nutri/dieta.rb', line 11 def factor_actividad_fisica @factor_actividad_fisica end |
#food_energy ⇒ Object
getter y setter
11 12 13 |
# File 'lib/nutri/dieta.rb', line 11 def food_energy @food_energy end |
#gasto_energetico_total ⇒ Object
getter y setter
11 12 13 |
# File 'lib/nutri/dieta.rb', line 11 def gasto_energetico_total @gasto_energetico_total end |
Instance Method Details
#analize ⇒ string
- analize given data and calculate if patientes consumed food was enough or too much for his phys activity
70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/nutri/dieta.rb', line 70 def analize() difference = @gasto_energetico_total - @food_energy puts "Consumed Energy:\t#{@food_energy.round(2)}\nBurned Energy:\t\t#{@gasto_energetico_total.round(2)}\n\n" if difference.abs <= @gasto_energetico_total * 0.1 puts "La cantidad de la alimentación es suficiente para cubrir las exigencias calóricas del organismo y mantiene el equilibrio de su balance.\n Difference: #{difference.round(2)}" elsif @food_energy < @gasto_energetico_total puts "La cantidad de la alimentación no es suficiente para cubrir las exigencias calóricas del organismo.\nTomaste #{difference.round(2)}kcal/g muy poco." elsif @food_energy > @gasto_energetico_total puts "Ha consumido demasiado calóricas. No mantiene el equilibrio de su balance.\nTomaste #{difference.round(2)}kcal/g demasiado." # else puts "Strange ERROR" end return difference end |
#eat(item) ⇒ Object
- add eaten item to food
34 35 36 37 |
# File 'lib/nutri/dieta.rb', line 34 def eat(item) @food.push(item) @food_energy = @food.reduce(0) { |sum, obj| sum + obj.energia.to_i } end |
#sport(intensity) ⇒ Object
- change factor of phys activity
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/nutri/dieta.rb', line 44 def sport(intensity) if intensity == 0 || intensity == "reposo" @factor_actividad_fisica = 0.0 elsif intensity == 1 || intensity == "ligera" @factor_actividad_fisica = 0.12 elsif intensity == 2 || intensity == "moderada" @factor_actividad_fisica = 0.27 elsif intensity == 3 || intensity == "intensa" @factor_actividad_fisica = 0.54 end @gasto_actividad_fisica = @gasto_energetico_basal * @factor_actividad_fisica @gasto_energetico_total = @gasto_energetico_basal * @efecto_termogeno + @gasto_actividad_fisica return @factor_actividad_fisica end |