class NutritionCalculator::CalorieBudgeter
Calculates Calorie Budget Per Day in Weekly Context
The ‘NutritionCalculator::CalorieBudgeter` is used to determine how many calories you need to consume and how many calories you need to burn via exercise for a given day in order to stay on target with your diet. In particular, it ensures that you consume at least enough to satisfy your resting metabolic rate each day, even if that means you need to burn off calories via exercise to keep on track. It operates on a weekly basis, so if you are over-/under-budget on a given day, the goals for the remainder of the week will be adjusted accordingly.
@example
cb = NutritionCalculator::CalorieBudgeter.new cb.resting_metabolic_rate = 2_000 # calories per day cb.weekly_calorie_goal = 10_500 # creates an average deficit of 500 # calories/day cb.num_days_to_budget = 5 # The number of days remaining in the # week, including the current day cb.prior_days_calories = 3_524 # net calories from days 1 and 2 cb.calories_consumed = 0 cb.calories_burned = 0 cb.calories_remaining #=> 2_000 cb.exercise_calories_remaining #=> 605 cb.calories_consumed = 681 # total calories consumed today cb.calories_burned = 1752 cb.calories_remaining #=> 2_466 cb.exercise_calories_remaining #=> 0
Public Class Methods
new(diet_period: nil, source_data: nil)
click to toggle source
# File lib/nutrition_calculator/calorie_budgeter.rb, line 48 def initialize(diet_period: nil, source_data: nil) self.diet_period = diet_period if diet_period self.source_data = source_data if source_data end
Public Instance Methods
diet_period=(diet_period)
click to toggle source
# File lib/nutrition_calculator/calorie_budgeter.rb, line 53 def diet_period=(diet_period) self.resting_metabolic_rate = diet_period.resting_metabolic_rate self.weekly_calorie_goal = diet_period.net_calorie_goal self.num_days_to_budget = diet_period.days_remaining end
source_data=(source_data)
click to toggle source
# File lib/nutrition_calculator/calorie_budgeter.rb, line 59 def source_data=(source_data) self.prior_days_calories = source_data.prior_days_net_calories self.calories_consumed = source_data.calories_consumed_today self.calories_burned = source_data.calories_burned_today end