diff options
| author | mo khan <mo@mokhan.ca> | 2017-03-19 13:01:29 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2017-03-19 13:01:29 -0600 |
| commit | 0c2d106f50f5806016778f4bc62d957dd8187d1e (patch) | |
| tree | 120ff6776c7505547e574829525125882e57ffc2 | |
| parent | eeede45cf0f1ab091fa6c229614c9a4e38f0390b (diff) | |
remove ractive.
| -rw-r--r-- | Gemfile | 3 | ||||
| -rw-r--r-- | Gemfile.lock | 9 | ||||
| -rw-r--r-- | app/assets/javascripts/application.js.coffee | 2 | ||||
| -rw-r--r-- | app/assets/javascripts/models/startup.js.coffee | 1 | ||||
| -rw-r--r-- | app/assets/javascripts/views/google_map.js.coffee | 1 | ||||
| -rw-r--r-- | app/assets/javascripts/views/workout_view.js.coffee | 89 | ||||
| -rw-r--r-- | app/views/workouts/edit.html.erb | 2 | ||||
| -rw-r--r-- | config/deploy.rb | 4 | ||||
| -rw-r--r-- | spec/controllers/workouts_controller_spec.rb | 2 | ||||
| -rw-r--r-- | spec/javascripts/views/workout_view_spec.js.coffee | 69 |
10 files changed, 4 insertions, 178 deletions
@@ -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 diff --git a/Gemfile.lock b/Gemfile.lock index 430ab93..5d4452f 100644 --- a/Gemfile.lock +++ b/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)! diff --git a/app/assets/javascripts/application.js.coffee b/app/assets/javascripts/application.js.coffee index 5a51017..763a126 100644 --- a/app/assets/javascripts/application.js.coffee +++ b/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 diff --git a/app/assets/javascripts/models/startup.js.coffee b/app/assets/javascripts/models/startup.js.coffee index b3ea8a8..4b6d802 100644 --- a/app/assets/javascripts/models/startup.js.coffee +++ b/app/assets/javascripts/models/startup.js.coffee @@ -1,4 +1,3 @@ class Stronglifters.Startup start: -> - Ractive.DEBUG = false new Clipboard('.clipboard-button') diff --git a/app/assets/javascripts/views/google_map.js.coffee b/app/assets/javascripts/views/google_map.js.coffee index 07f3062..3742a42 100644 --- a/app/assets/javascripts/views/google_map.js.coffee +++ b/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, diff --git a/app/assets/javascripts/views/workout_view.js.coffee b/app/assets/javascripts/views/workout_view.js.coffee deleted file mode 100644 index 45bf3d3..0000000 --- a/app/assets/javascripts/views/workout_view.js.coffee +++ /dev/null @@ -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() diff --git a/app/views/workouts/edit.html.erb b/app/views/workouts/edit.html.erb index 23c702a..76c1e7f 100644 --- a/app/views/workouts/edit.html.erb +++ b/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 }} </p> diff --git a/config/deploy.rb b/config/deploy.rb index 5fefa8c..fd45f66 100644 --- a/config/deploy.rb +++ b/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 diff --git a/spec/controllers/workouts_controller_spec.rb b/spec/controllers/workouts_controller_spec.rb index 0fa0fe5..dd0f9d7 100644 --- a/spec/controllers/workouts_controller_spec.rb +++ b/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 diff --git a/spec/javascripts/views/workout_view_spec.js.coffee b/spec/javascripts/views/workout_view_spec.js.coffee deleted file mode 100644 index c2661ae..0000000 --- a/spec/javascripts/views/workout_view_spec.js.coffee +++ /dev/null @@ -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') |
