From 18fcd77ed53df609bf7ba32a739b2bc03aa2d77e Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 21 May 2015 22:25:34 -0600 Subject: display the target weight and the number of reps completed for each set. --- app/models/training_session.rb | 1 + app/views/training_sessions/_training_session.html.erb | 12 ++++++++++-- .../20150522042027_add_target_weight_to_training_sessions.rb | 5 +++++ db/schema.rb | 3 ++- spec/models/training_session_spec.rb | 3 +++ 5 files changed, 21 insertions(+), 3 deletions(-) create mode 100644 db/migrate/20150522042027_add_target_weight_to_training_sessions.rb diff --git a/app/models/training_session.rb b/app/models/training_session.rb index cd4b007..104548b 100644 --- a/app/models/training_session.rb +++ b/app/models/training_session.rb @@ -12,6 +12,7 @@ class TrainingSession < ActiveRecord::Base workout.exercise_workouts.each_with_index do |exercise_workout, index| exercise_row = workout_row.exercises[index] session.exercise_sessions.create!( + target_weight: exercise_row['warmup']['targetWeight'], exercise_workout: exercise_workout, sets: [ exercise_row['set1'].to_i > 0 ? exercise_row['set1'] : 0, diff --git a/app/views/training_sessions/_training_session.html.erb b/app/views/training_sessions/_training_session.html.erb index 6a3307f..54b5853 100644 --- a/app/views/training_sessions/_training_session.html.erb +++ b/app/views/training_sessions/_training_session.html.erb @@ -2,7 +2,15 @@
-
<%= training_session.created_at %>
-
<%= distance_of_time_in_words_to_now training_session.occurred_at %>
+
<%= training_session.workout.name %>
+
<%= distance_of_time_in_words_to_now training_session.occurred_at %> ago
+ <% training_session.exercise_sessions.each do |exercise_session| %> +

<%= exercise_session.exercise.name %> @ <%= exercise_session.target_weight %>

+ + <% end %>
diff --git a/db/migrate/20150522042027_add_target_weight_to_training_sessions.rb b/db/migrate/20150522042027_add_target_weight_to_training_sessions.rb new file mode 100644 index 0000000..f691443 --- /dev/null +++ b/db/migrate/20150522042027_add_target_weight_to_training_sessions.rb @@ -0,0 +1,5 @@ +class AddTargetWeightToTrainingSessions < ActiveRecord::Migration + def change + add_column :exercise_sessions, :target_weight, :float + end +end diff --git a/db/schema.rb b/db/schema.rb index 92c52e1..faa1a15 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20150522040632) do +ActiveRecord::Schema.define(version: 20150522042027) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -23,6 +23,7 @@ ActiveRecord::Schema.define(version: 20150522040632) do t.datetime "created_at", null: false t.datetime "updated_at", null: false t.text "sets", default: [], array: true + t.float "target_weight" end create_table "exercise_workouts", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t| diff --git a/spec/models/training_session_spec.rb b/spec/models/training_session_spec.rb index c499375..aaed298 100644 --- a/spec/models/training_session_spec.rb +++ b/spec/models/training_session_spec.rb @@ -44,6 +44,7 @@ describe TrainingSession, type: :model do expect(training_session.exercise_sessions.map { |x| x.exercise.name }).to match_array(["Squat", "Bench Press", "Barbell Row"]) squat_session = training_session.exercise_sessions.find_by(exercise_workout: squat_workout) + expect(squat_session.target_weight).to eql(200.0) expect(squat_session.sets[0]).to eql('0') expect(squat_session.sets[1]).to eql('0') expect(squat_session.sets[2]).to eql('0') @@ -51,6 +52,7 @@ describe TrainingSession, type: :model do expect(squat_session.sets[4]).to eql('0') bench_session = training_session.exercise_sessions.find_by(exercise_workout: bench_workout) + expect(bench_session.target_weight).to eql(145.0) expect(bench_session.sets[0]).to eql("5") expect(bench_session.sets[1]).to eql("5") expect(bench_session.sets[2]).to eql("5") @@ -58,6 +60,7 @@ describe TrainingSession, type: :model do expect(bench_session.sets[4]).to eql("5") row_session = training_session.exercise_sessions.find_by(exercise_workout: row_workout) + expect(row_session.target_weight).to eql(130.0) expect(row_session.sets[0]).to eql("5") expect(row_session.sets[1]).to eql("4") expect(row_session.sets[2]).to eql("4") -- cgit v1.2.3