Commit 6738637
Changed files (5)
app
controllers
views
training_sessions
db
spec
controllers
app/controllers/training_sessions_controller.rb
@@ -16,9 +16,9 @@ class TrainingSessionsController < ApplicationController
@workout.exercise_workouts.each do |exercise|
@training_session.exercise_sessions.build(
exercise_workout: exercise,
- target_sets: exercise.sets,
- target_repetitions: exercise.repetitions,
- target_weight: current_user.next_weight_for(exercise.exercise)
+ #target_sets: exercise.sets,
+ #target_repetitions: exercise.repetitions,
+ #target_weight: current_user.next_weight_for(exercise.exercise)
)
end
end
@@ -26,9 +26,9 @@ class TrainingSessionsController < ApplicationController
def create
secure_params = params.require(:training_session).permit(:workout_id, :body_weight, exercise_sessions_attributes: [
:exercise_workout_id,
- :target_repetitions,
- :target_sets,
- :target_weight,
+ #:target_repetitions,
+ #:target_sets,
+ #:target_weight,
])
workout = Workout.find(secure_params[:workout_id])
training_session = current_user.begin_workout(
@@ -45,15 +45,15 @@ class TrainingSessionsController < ApplicationController
end
def update
- secure_params = params.
- require(:training_session).
- permit(:exercise_id, :weight, sets: [])
+ secure_params = params.require(:training_session).permit(:exercise_id, :weight, sets: [])
@training_session = current_user.training_sessions.find(params[:id])
- @training_session.train(
- Exercise.find(secure_params[:exercise_id]),
- secure_params[:weight],
- secure_params[:sets]
- )
+ secure_params[:sets].each do |reps|
+ @training_session.train(
+ Exercise.find(secure_params[:exercise_id]),
+ secure_params[:weight],
+ repetitions: reps,
+ )
+ end
end
def upload
app/views/training_sessions/_training_session.html.erb
@@ -6,7 +6,7 @@
<td><%= training_session.body_weight %> lbs</td>
<td>
<% training_session.exercise_sessions.each do |exercise_session| %>
- <strong><%= exercise_session.exercise.name %></strong> @ <%= exercise_session.target_weight %> lbs,
+ <strong><%= exercise_session.exercise.name %></strong> @ <%= exercise_session.sets.maximum(:target_weight) %> lbs,
<% end %>
</td>
<td> <%= link_to "edit", edit_training_session_path(training_session) %> </td>
app/views/training_sessions/_training_session.jbuilder
@@ -1,7 +1,7 @@
json.id training_session.id
json.body_weight training_session.body_weight
json.workout_name training_session.workout.name
-json.exercises training_session.exercise_sessions do |exercise|
+json.exercises training_session.exercise_sessions.order(:created_at) do |exercise|
json.id exercise.exercise.id
json.name exercise.name
json.reps exercise.sets do |set|
db/schema.rb
@@ -26,9 +26,9 @@ ActiveRecord::Schema.define(version: 20160611171913) do
create_table "exercise_sets", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
t.uuid "exercise_session_id", null: false
- t.integer "target_repetitions", null: false
+ t.integer "target_repetitions"
t.integer "actual_repetitions"
- t.float "target_weight", null: false
+ t.float "target_weight"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
spec/controllers/training_sessions_controller_spec.rb
@@ -126,9 +126,9 @@ describe TrainingSessionsController do
exercise_sessions_attributes: [
{
exercise_workout_id: workout_b.exercise_workouts.first.id,
- target_repetitions: 4,
- target_sets: 3,
- target_weight: 275.0,
+ #target_repetitions: 4,
+ #target_sets: 3,
+ #target_weight: 275.0,
}
]
}
@@ -138,9 +138,10 @@ describe TrainingSessionsController do
training_session = user.training_sessions.last
expect(training_session.body_weight).to eql(body_weight.to_f)
expect(training_session.exercise_sessions.count).to eql(1)
- expect(training_session.exercise_sessions.first.target_sets).to eql(3)
- expect(training_session.exercise_sessions.first.target_repetitions).to eql(4)
- expect(training_session.exercise_sessions.first.target_weight).to eql(275.0)
+ exercise_session = training_session.exercise_sessions.first
+ #expect(exercise_session.target_sets).to eql(3)
+ #expect(exercise_session.target_repetitions).to eql(4)
+ #expect(exercise_session.target_weight).to eql(275.0)
expect(response).to redirect_to(edit_training_session_path(user.training_sessions.last))
end
end
@@ -165,8 +166,8 @@ describe TrainingSessionsController do
sets: [5, 5, 5],
}
expect(training_session.exercises).to include(squat)
- expect(training_session.progress_for(squat).target_weight).to eql(315.to_f)
- expect(training_session.progress_for(squat).actual_sets).to eql(['5', '5', '5'])
+ expect(training_session.progress_for(squat).sets.first.target_weight).to eql(315.to_f)
+ expect(training_session.progress_for(squat).to_sets).to eql([5, 5, 5])
end
end
end