Commit 0c2d106

mo khan <mo@mokhan.ca>
2017-03-19 19:01:29
remove ractive.
1 parent eeede45
app/assets/javascripts/models/startup.js.coffee
@@ -1,4 +1,3 @@
 class Stronglifters.Startup
   start: ->
-    Ractive.DEBUG = false
     new Clipboard('.clipboard-button')
app/assets/javascripts/views/google_map.js.coffee
@@ -3,7 +3,6 @@ class Stronglifters.GoogleMap
     @div = document.getElementById(div)
 
   present: (options) ->
-    console.log("presenting")
     coordinates = new google.maps.LatLng(options.latitude, options.longitude)
     map = new google.maps.Map(@div, {
       center: coordinates,
app/assets/javascripts/views/workout_view.js.coffee
@@ -1,89 +0,0 @@
-#= require models/timer
-#= require models/set
-class Stronglifters.WorkoutView extends Ractive
-  template: RactiveTemplates["templates/workout_view"]
-
-  oninit: ->
-    @clock = new Stronglifters.Timer
-      databag: this
-      key: 'clock'
-
-    @timers = { }
-    @on 'updateProgress', (event) ->
-      @withModel event.keypath, (model) =>
-        @updateProgress(model)
-
-    @observe 'workout.exercises.*.sets.*', (newValue, oldValue, keypath) ->
-      @withModel keypath, (model) =>
-        @refreshStatus model, keypath
-
-  withModel: (keypath, callback) ->
-    model = new Stronglifters.Set(@get(keypath))
-    model.set 'keypath', keypath
-    callback(model)
-    prefix = (x, key) ->
-      x["#{keypath}.#{key}"] = model.changed[key]
-      x
-    @set(_.reduce(_.keys(model.changed), prefix, {}))
-
-  updateProgress: (model) ->
-    @set('clock', null)
-    @clock.stop()
-
-    if model.timed()
-      @startTimerFor(model)
-      return
-
-    if !model.started()
-      model.complete()
-    else
-      model.decrement()
-    model.save()
-
-    if model.successful()
-      if model.workSet()
-        message = "If it was easy break for 1:30, otherwise rest for 3:00."
-      else
-        message = "No rest for the wicked. Let's do this!"
-      @displayMessage message, 'is-success'
-    else
-      @displayMessage "Take a 5:00 break.", 'is-danger'
-
-    @clock.start()
-
-  refreshStatus: (model, keypath) ->
-    if model.timed()
-      return
-
-    if !model.started()
-      @set "#{keypath}.status", "secondary hollow"
-      return
-
-    if model.successful()
-      @set "#{keypath}.status", "is-success"
-    else
-      @set "#{keypath}.status", "is-danger"
-
-  displayMessage: (message, status) ->
-    @set 'message', message
-    @set 'alertStatus', status
-
-  startTimerFor: (model) ->
-    keypath = model.get('keypath')
-    timer = @timers[keypath]
-    if timer?
-      timer.stop()
-      model.save()
-    else
-      targetMilliseconds = model.get('target_duration') * 1000
-      timer = new Stronglifters.Timer
-        databag: this
-        format: (timer) ->
-          (moment.utc(timer).minutes() * 60) + moment.utc(timer).seconds()
-        key: "#{keypath}.actual_duration"
-        maxMilliseconds: targetMilliseconds
-        success: =>
-          model.set('actual_duration', @get("#{keypath}.actual_duration"))
-          model.save()
-      @timers[keypath] = timer
-      timer.start()
app/assets/javascripts/application.js.coffee
@@ -15,9 +15,7 @@
 #= require moment
 #= require jquery
 #= require jquery_ujs
-#= require ractive
 #= require backbone
-#= require ractive-backbone
 #= require Chart.bundle
 #= require chartkick
 #= require fullcalendar
app/views/workouts/edit.html.erb
@@ -9,7 +9,7 @@
               <p class="heading">
                 {{ set.target_repetitions }} x {{ set.target_weight }}
               </p>
-                <button v-on:click="updateProgress(set)" class="button is-large" v-bind:class="classObject">
+                <button :id="set.id" v-on:click="updateProgress(set)" class="button is-large" v-bind:class="classObject">
                   {{ set.actual_repetitions }}
                 </button>
               <p> {{ set.weight_per_side }} &nbsp; </p>
config/deploy.rb
@@ -37,10 +37,10 @@ set :rbenv_ruby, `cat .ruby-version`.strip
 
 namespace :deploy do
   task :restart do
-    on roles(:web), in: :groups, limit: 3, wait: 10 do
+    on roles(:web) do
       sudo :sv, "restart puma"
     end
-    on roles(:app), in: :groups, limit: 3, wait: 10 do
+    on roles(:app) do
       sudo :sv, "restart sidekiq"
     end
   end
spec/controllers/workouts_controller_spec.rb
@@ -18,7 +18,7 @@ describe WorkoutsController do
     end
 
     it "loads all works since a given time" do
-      get :index, since: 2.days.to_i
+      get :index, params: { since: 2.days.to_i }
       expect(assigns(:workouts)).to match_array([workout_b])
     end
   end
spec/javascripts/views/workout_view_spec.js.coffee
@@ -1,69 +0,0 @@
-#= require views/workout_view
-describe "WorkoutView", ->
-  beforeEach ->
-    @el = $('<div>')
-    @subject = new Stronglifters.WorkoutView
-      el: @el,
-      data: ->
-        workout:
-          id: "1",
-          body_weight: 225,
-          routine_name: "A",
-          exercises: [{
-            id: '65ba3c72-4c4f-4226-bf53-b67d3edc3dda',
-            name: 'Squat',
-            sets: [
-              {
-                id: '5af1129b-b1d6-4e87-ab13-278f64d6e8ea',
-                target_weight: 315,
-                target_repetitions: 5,
-                actual_repetitions: null
-              },
-              {
-                id: '8e44a98e-f109-497f-a2ec-66e9b64c532a',
-                target_weight: 315,
-                target_repetitions: 5,
-                actual_repetitions: 1
-              },
-              {
-                id: 'be848972-8549-4f44-a3ce-2295783bf2b1',
-                target_weight: 315,
-                target_repetitions: 5,
-                actual_repetitions: 2
-              },
-            ]
-          }]
-
-  it "has one exercise", ->
-    @subject.get('workout.exercises')
-    expect(@subject.get('workout.exercises').length).toEqual(1)
-
-  it "indicates no progress recorded", ->
-    result = @subject.get('workout.exercises.0.sets.0.status')
-    expect(result).toEqual('secondary hollow')
-
-  describe "updating progress", ->
-    describe "when no reps are completed", ->
-      it "sets the reps to the target", ->
-        @el.find('button').first().trigger('click')
-        result = @subject.get('workout.exercises.0.sets.0.actual_repetitions')
-        expect(result).toEqual(5)
-
-      it "indicates a successful set", ->
-        @el.find('button').first().trigger('click')
-        result = @subject.get('workout.exercises.0.sets.0.status')
-        expect(result).toEqual('is-success')
-
-    describe "when at least one rep is completed", ->
-      beforeEach ->
-        @subject.set('workout.exercises.0.sets.0.actual_repetitions', 5)
-
-      it 'decrements the count', ->
-        @el.find('button').first().trigger('click')
-        result = @subject.get('workout.exercises.0.sets.0.actual_repetitions')
-        expect(result).toEqual(4)
-
-      it "indicates a failed set", ->
-        @el.find('button').first().trigger('click')
-        result = @subject.get('workout.exercises.0.sets.0.status')
-        expect(result).toEqual('is-danger')
Gemfile
@@ -46,7 +46,6 @@ source "https://rubygems.org" do
   gem "puma", "~> 3.0"
   gem "rack-mini-profiler", group: :development, require: false
   gem "rack_session_access", group: :test
-  gem "ractive-rails"
   gem "rails", "~> 5.0.0"
   gem "rails-controller-testing", group: :test
   gem "rails-erd", group: :development
@@ -84,6 +83,4 @@ source "https://rails-assets.org" do
   gem "rails-assets-lodash"
   gem "rails-assets-modernizr"
   gem "rails-assets-moment"
-  gem "rails-assets-ractive"
-  gem "rails-assets-ractive-backbone"
 end
Gemfile.lock
@@ -264,10 +264,6 @@ GEM
     rack_session_access (0.1.1)
       builder (>= 2.0.0)
       rack (>= 1.0.0)
-    ractive-rails (0.0.3)
-      execjs (>= 1.3)
-      sprockets (>= 2.0)
-      tilt (>= 1.3)
     rails (5.0.1)
       actioncable (= 5.0.1)
       actionmailer (= 5.0.1)
@@ -290,8 +286,6 @@ GEM
     rails-assets-lodash (4.13.1)
     rails-assets-modernizr (3.3.1)
     rails-assets-moment (2.14.1)
-    rails-assets-ractive (0.7.3)
-    rails-assets-ractive-backbone (0.3.0)
     rails-assets-underscore (1.8.3)
     rails-controller-testing (0.1.1)
       actionpack (~> 5.x)
@@ -494,7 +488,6 @@ DEPENDENCIES
   puma (~> 3.0)!
   rack-mini-profiler!
   rack_session_access!
-  ractive-rails!
   rails (~> 5.0.0)!
   rails-assets-backbone!
   rails-assets-clipboard!
@@ -502,8 +495,6 @@ DEPENDENCIES
   rails-assets-lodash!
   rails-assets-modernizr!
   rails-assets-moment!
-  rails-assets-ractive!
-  rails-assets-ractive-backbone!
   rails-controller-testing!
   rails-erd!
   rails-i18n (~> 4.0.0)!