Commit 18fcd77
Changed files (5)
app
models
views
training_sessions
spec
models
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")