Class: MealPlanner
- Inherits:
-
Object
- Object
- MealPlanner
- Defined in:
- lib/meal_planner.rb
Instance Method Summary collapse
-
#generate_daily_meal_plan ⇒ Object
generating meal plans for monthly weekly and daily.
-
#generate_meal_plan ⇒ Object
getting meal plan.
- #generate_monthly_meal_plan ⇒ Object
- #generate_weekly_meal_plan ⇒ Object
-
#get_price(percent) ⇒ Object
calculation for breakfast.
-
#get_user_menu(price, menu_category_id) ⇒ Object
breakfast filtering.
-
#initialize(user, menu, budget) ⇒ MealPlanner
constructor
weights to break down user budget.
Constructor Details
#initialize(user, menu, budget) ⇒ MealPlanner
weights to break down user budget
4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/meal_planner.rb', line 4 def initialize(user,,budget) @user = user = @budget = budget.amount @BREAKFAST_PERCENT = 25 @LUNCH_PERCENT = 40 @DINNER_PERCENT = 35 @BREAKFAST_IDENTIFIER = 1 @LUNCH_IDENTIFIER = 2 @DINNER_IDENTIFIER = 3 @VEGAN = 1 @VEGETERIAN = 2 @NONE = 3 end |
Instance Method Details
#generate_daily_meal_plan ⇒ Object
generating meal plans for monthly weekly and daily
41 42 43 44 45 46 47 |
# File 'lib/meal_planner.rb', line 41 def generate_daily_meal_plan return { :breakfast => (get_price(@BREAKFAST_PERCENT), @BREAKFAST_IDENTIFIER).sample, :lunch => (get_price(@LUNCH_PERCENT), @LUNCH_IDENTIFIER).sample, :dinner => (get_price(@DINNER_PERCENT), @DINNER_IDENTIFIER).sample } end |
#generate_meal_plan ⇒ Object
getting meal plan
20 21 22 23 24 25 26 27 28 |
# File 'lib/meal_planner.rb', line 20 def generate_meal_plan if budget.budget_type == "daily" return generate_daily_meal_plan elsif budget.budget_type == "weekly" return generate_weekly_meal_plan elsif budget.budget_type == "monthly" return generate_monthly_meal_plan end end |
#generate_monthly_meal_plan ⇒ Object
58 59 60 61 62 63 64 65 |
# File 'lib/meal_planner.rb', line 58 def generate_monthly_meal_plan @budget = @budget / 31 # from daily budget meal_plan = Array.new 31.times do |n| meal_plan.push(generate_daily_meal_plan) end return meal_plan end |
#generate_weekly_meal_plan ⇒ Object
49 50 51 52 53 54 55 56 |
# File 'lib/meal_planner.rb', line 49 def generate_weekly_meal_plan @budget = @budget / 7 # get daily budget meal_plan = Array.new 7.times do |n| meal_plan.push(generate_daily_meal_plan) end return meal_plan end |
#get_price(percent) ⇒ Object
calculation for breakfast
31 32 33 |
# File 'lib/meal_planner.rb', line 31 def get_price(percent) return (@budget * percent) / 100 end |
#get_user_menu(price, menu_category_id) ⇒ Object
breakfast filtering
36 37 38 |
# File 'lib/meal_planner.rb', line 36 def (price, ) return .select {|| ["price"] <= price && ["menu_category_id"] == && ["menu_type_id"] == @user. } end |