Commit 18fcd77

mo khan <mo@mokhan.ca>
2015-05-22 04:25:34
display the target weight and the number of reps completed for each set.
1 parent b45869a
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,
app/views/training_sessions/_training_session.html.erb
@@ -2,7 +2,15 @@
   <img src="http://placehold.it/1000x1000&text=Thumbnail">
 
   <div class="panel">
-    <h5><%=  training_session.created_at %></h5>
-    <h6 class="subheader"><%= distance_of_time_in_words_to_now training_session.occurred_at %></h6>
+    <h5><%=  training_session.workout.name %></h5>
+    <h6 class="subheader"><%= distance_of_time_in_words_to_now training_session.occurred_at %> ago</h6>
+    <% training_session.exercise_sessions.each do |exercise_session| %>
+      <p><%= exercise_session.exercise.name %> @ <%= exercise_session.target_weight %></p>
+      <ul>
+        <% exercise_session.sets.each do |set| %>
+          <li><%= set %></li>
+        <% end %>
+      </ul>
+    <% end %>
   </div>
 </div>
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
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|
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")