Commit 1b38168

mo khan <mo@mokhan.ca>
2016-06-25 16:24:35
replace usages of exercise_set with set.
1 parent 2a60147
app/assets/javascripts/views/workout_view.js.coffee
@@ -15,8 +15,8 @@ class Stronglifters.WorkoutView extends Ractive
     @saveSet(@get(event.keypath))
 
   saveSet: (set) ->
-    @patch "/exercise_sets/#{set.id}",
-      exercise_set:
+    @patch "/sets/#{set.id}",
+      set:
         actual_repetitions: set.actual_repetitions
 
   patch: (url, payload) ->
app/controllers/exercise_sets_controller.rb
@@ -1,13 +0,0 @@
-class ExerciseSetsController < ApplicationController
-  def update
-    exercise_session = current_user.exercise_sets.find(params[:id])
-    exercise_session.update!(secure_params)
-    render json: {}
-  end
-
-  private
-
-  def secure_params
-    params.require(:exercise_set).permit(:actual_repetitions)
-  end
-end
app/controllers/sets_controller.rb
@@ -0,0 +1,13 @@
+class SetsController < ApplicationController
+  def update
+    set = current_user.sets.find(params[:id])
+    set.update!(secure_params)
+    render json: {}
+  end
+
+  private
+
+  def secure_params
+    params.require(:set).permit(:actual_repetitions)
+  end
+end
app/controllers/workouts_controller.rb
@@ -33,7 +33,7 @@ class WorkoutsController < ApplicationController
   end
 
   def recent_workouts
-    current_user.workouts.recent.includes(:routine, :program, exercise_sets: [:exercise])
+    current_user.workouts.recent.includes(:routine, exercise_sets: [:exercise])
   end
 
   def find_routine(routine_id)
app/models/progress.rb
@@ -15,6 +15,6 @@ class Progress
   end
 
   def sets
-    workout.exercise_sets.where(exercise: exercise).order(:created_at)
+    workout.sets.where(exercise: exercise).order(:created_at)
   end
 end
app/models/training_history.rb
@@ -33,7 +33,7 @@ class TrainingHistory
   def to_line_chart
     user.workouts.inject({}) do |memo, workout|
       memo[workout.occurred_at] =
-        workout.exercise_sets.where(exercise: exercise).maximum(:target_weight)
+        workout.sets.where(exercise: exercise).maximum(:target_weight)
       memo
     end
   end
@@ -41,7 +41,7 @@ class TrainingHistory
   private
 
   def sets
-    user.exercise_sets.where(exercise: exercise)
+    user.sets.where(exercise: exercise)
   end
 
   def successful_sets
app/models/user.rb
@@ -14,6 +14,7 @@ class User < ActiveRecord::Base
 
   after_create :create_profile!
   before_validation :lowercase_account_fields
+  alias_method :sets, :exercise_sets
 
   def time_zone
     @time_zone ||= ActiveSupport::TimeZone[profile.read_attribute(:time_zone)]
app/models/workout.rb
@@ -6,6 +6,7 @@ class Workout < ActiveRecord::Base
   has_many :exercise_sets, dependent: :destroy
   accepts_nested_attributes_for :exercise_sets
   delegate :name, to: :routine
+  alias_method :sets, :exercise_sets
 
   scope :recent, -> { order(occurred_at: :desc) }
 
@@ -15,24 +16,20 @@ class Workout < ActiveRecord::Base
   end
 
   def train(exercise, target_weight, repetitions:, set: nil)
-    exercise_set =
-      if set.present? && exercise_sets.where(exercise: exercise).at(set).present?
-        exercise_sets.where(exercise: exercise).at(set)
+    set =
+      if set.present? && sets.where(exercise: exercise).at(set).present?
+        sets.where(exercise: exercise).at(set)
       else
-        exercise_sets.build(
+        sets.build(
           exercise: exercise,
           target_repetitions: program.recommended_reps_for(user, exercise)
         )
       end
-    exercise_set.update!(actual_repetitions: repetitions, target_weight: target_weight)
-    exercise_set
+    set.update!(actual_repetitions: repetitions, target_weight: target_weight)
+    set
   end
 
   def progress_for(exercise)
     Progress.new(self, exercise)
   end
-
-  def sets
-    exercise_sets
-  end
 end
app/views/workouts/_workout.jbuilder
@@ -1,10 +1,10 @@
 json.id workout.id
 json.body_weight workout.body_weight
 json.routine_name workout.routine.name
-json.exercises workout.exercise_sets.order(:created_at).group_by(&:exercise) do |exercise, exercise_sets|
+json.exercises workout.sets.order(:created_at).group_by(&:exercise) do |exercise, sets|
   json.id exercise.id
   json.name exercise.name
-  json.sets exercise_sets.sort_by(&:created_at) do |set|
+  json.sets sets.sort_by(&:created_at) do |set|
     json.id set.id
     json.target_weight set.target_weight
     json.target_repetitions set.target_repetitions
app/views/workouts/new.html.erb
@@ -12,10 +12,10 @@
         <legend><%= Workout.human_attribute_name(:body_weight) %></legend>
         <%= f.number_field :body_weight %>
       </fieldset>
-      <% @workout.exercise_sets.group_by(&:exercise).each do |exercise, exercise_sets| %>
+      <% @workout.sets.group_by(&:exercise).each do |exercise, sets| %>
         <fieldset>
           <legend><%= exercise.name %></legend>
-          <% exercise_sets.each.with_index(1) do |set, index| %>
+          <% sets.each.with_index(1) do |set, index| %>
             <%= f.fields_for :exercise_sets, set do |s| %>
               <fieldset name="<%= exercise.slug %>-<%= index %>">
                 <legend>Set</legend>
config/locales/en.yml
@@ -40,7 +40,6 @@ en:
     formats:
       short: "%a, %d %b %Y"
   add: Add
-  back_html: '&laquo Back'
   done: "I'm Done"
   save: Save
   search: Search
config/routes.rb
@@ -2,7 +2,7 @@ Rails.application.routes.draw do
   root "sessions#new"
   resources :sessions, only: [:new, :create, :destroy]
   resources :registrations, only: [:new, :create]
-  resources :exercise_sets, only: [:update]
+  resources :sets, only: [:update]
   resources :workouts, only: [:index, :new, :create, :edit]
   resources :programs, only: [:show]
   resources :profiles, only: [:new, :create, :show, :edit, :update], constraints: { id: /[^\/]+/ }
spec/controllers/exercise_sets_controller_spec.rb → spec/controllers/sets_controller_spec.rb
@@ -1,6 +1,6 @@
 require "rails_helper"
 
-describe ExerciseSetsController do
+describe SetsController do
   let(:user) { create(:user) }
 
   before :each do
@@ -13,14 +13,14 @@ describe ExerciseSetsController do
 
     it "records the exercise" do
       workout.update!(occurred_at: DateTime.now, body_weight: 225)
-      exercise_set = workout.exercise_sets.first
+      set = workout.sets.first
 
-      xhr :patch, :update, id: exercise_set.id, exercise_set: {
+      xhr :patch, :update, id: set.id, set: {
         actual_weight: 315,
         actual_repetitions: 5,
       }
       expect(response).to have_http_status(:ok)
-      expect(exercise_set.reload.actual_repetitions).to eql(5)
+      expect(set.reload.actual_repetitions).to eql(5)
     end
   end
 end
spec/controllers/workouts_controller_spec.rb
@@ -67,7 +67,7 @@ describe WorkoutsController do
       workout = user.workouts.last
       expect(workout.body_weight).to eql(body_weight)
       expect(workout.routine).to eql(routine_b)
-      expect(workout.exercise_sets.count).to eql(1)
+      expect(workout.sets.count).to eql(1)
       expect(response).to redirect_to(edit_workout_path(user.workouts.last))
     end
   end
spec/models/csv/import_spec.rb
@@ -48,9 +48,9 @@ describe Csv::Import do
       expect(workout.occurred_at).to eql(expected_date)
       expect(workout.routine).to eql(routine_a)
       expect(workout.body_weight).to eql(205.0.lbs)
-      expect(workout.exercise_sets.count).to eql(15)
+      expect(workout.sets.count).to eql(15)
       expect(
-        workout.exercise_sets.map { |x| x.exercise.name }.uniq
+        workout.sets.map { |x| x.exercise.name }.uniq
       ).to match_array(["Squat", "Bench Press", "Barbell Row"])
     end
 
spec/models/workout_spec.rb
@@ -71,7 +71,7 @@ describe Workout, type: :model do
       subject.train(squat, target_weight, repetitions: 5, set: 0)
       subject.train(squat, target_weight, repetitions: 5, set: 0)
 
-      expect(subject.exercise_sets.count).to eql(1)
+      expect(subject.sets.count).to eql(1)
     end
   end