Commit d8e5486
Changed files (2)
app
models
app/models/training_history.rb
@@ -45,11 +45,7 @@ class TrainingHistory
end
def to_line_chart
- user.workouts.joins(:exercise_sets).
- where(exercise_sets: { exercise_id: exercise }).
- group('workouts.occurred_at').
- order('workouts.occurred_at desc').
- maximum('target_weight')
+ user.workouts.grouped_by_occurrence(exercise).recent.maximum(:target_weight)
end
private
app/models/workout.rb
@@ -13,6 +13,11 @@ class Workout < ApplicationRecord
scope :with_exercise, ->(exercise) do
joins(:exercises).where(exercises: { id: exercise.id }).distinct
end
+ scope :grouped_by_occurrence, ->(exercise) {
+ joins(:exercise_sets).
+ where(exercise_sets: { exercise_id: exercise }).
+ group('workouts.occurred_at')
+ }
def train(exercise, target_weight, repetitions:, set: nil)
all_sets = sets.for(exercise).to_a