Commit 50b7aee
Changed files (22)
app
config
environments
initializers
db
spec
models
app/jobs/import_gyms_job.rb
@@ -1,4 +1,4 @@
-class ImportGymsJob < ActiveJob::Base
+class ImportGymsJob < ApplicationJob
queue_as :default
def perform(location)
app/jobs/upload_stronglifts_backup_job.rb
@@ -1,4 +1,4 @@
-class UploadStrongliftsBackupJob < ActiveJob::Base
+class UploadStrongliftsBackupJob < ApplicationJob
queue_as :default
def perform(user, backup_file, program)
app/models/exercise.rb
@@ -1,4 +1,4 @@
-class Exercise < ActiveRecord::Base
+class Exercise < ApplicationRecord
def short_name
name.gsub(/[^A-Z]/, "")
end
app/models/exercise_set.rb
@@ -1,4 +1,4 @@
-class ExerciseSet < ActiveRecord::Base
+class ExerciseSet < ApplicationRecord
belongs_to :exercise
belongs_to :workout
scope :for, ->(exercise) { where(exercise: exercise).in_order }
app/models/gym.rb
@@ -1,4 +1,4 @@
-class Gym < ActiveRecord::Base
+class Gym < ApplicationRecord
validates_presence_of :name
has_one :location, as: :locatable, dependent: :destroy
accepts_nested_attributes_for :location
app/models/location.rb
@@ -1,4 +1,4 @@
-class Location < ActiveRecord::Base
+class Location < ApplicationRecord
belongs_to :locatable, polymorphic: true
before_save :assign_coordinates
acts_as_mappable default_units: :kms,
app/models/profile.rb
@@ -1,8 +1,8 @@
-class Profile < ActiveRecord::Base
+class Profile < ApplicationRecord
belongs_to :user
belongs_to :gym
enum social_tolerance: { low: 0, medium: 1, high: 2 }
- enum gender: { female: 0, male: 1, transgender: 2, other: nil }
+ enum gender: { other: 0, female: 1, male: 2, transgender: 3 }
def to_param
user.username
app/models/program.rb
@@ -1,4 +1,4 @@
-class Program < ActiveRecord::Base
+class Program < ApplicationRecord
STRONG_LIFTS = "StrongLifts 5×5"
has_many :exercises, through: :routines
has_many :routines
app/models/received_email.rb
@@ -1,4 +1,4 @@
-class ReceivedEmail < ActiveRecord::Base
+class ReceivedEmail < ApplicationRecord
belongs_to :user
serialize :to, JSON
serialize :from, JSON
app/models/recommendation.rb
@@ -1,4 +1,4 @@
-class Recommendation < ActiveRecord::Base
+class Recommendation < ApplicationRecord
belongs_to :exercise
belongs_to :routine
delegate :name, to: :exercise
app/models/routine.rb
@@ -1,4 +1,4 @@
-class Routine < ActiveRecord::Base
+class Routine < ApplicationRecord
belongs_to :program
has_many :recommendations
has_many :exercises, through: :recommendations
app/models/user.rb
@@ -1,4 +1,4 @@
-class User < ActiveRecord::Base
+class User < ApplicationRecord
include Flippable
has_secure_password
has_many :workouts
@@ -97,13 +97,9 @@ class User < ActiveRecord::Base
def last_workout(exercise = nil)
if exercise.present?
- workouts.
- joins(:exercises).
- where(exercises: { id: exercise.id }).
- order(:created_at).
- last
+ workouts.recent.with_exercise(exercise).first
else
- workouts.order(:created_at).last
+ workouts.recent.first
end
end
app/models/user_session.rb
@@ -1,4 +1,4 @@
-class UserSession < ActiveRecord::Base
+class UserSession < ApplicationRecord
has_one :location, as: :locatable
belongs_to :user
scope :active, -> do
@@ -23,7 +23,7 @@ class UserSession < ActiveRecord::Base
class << self
def authenticate(id)
- active.find_by(id: id)
+ active.includes(user: :profile).find_by(id: id)
end
end
end
app/models/workout.rb
@@ -1,4 +1,4 @@
-class Workout < ActiveRecord::Base
+class Workout < ApplicationRecord
belongs_to :user
belongs_to :routine
has_one :program, through: :routine
@@ -9,6 +9,9 @@ class Workout < ActiveRecord::Base
alias_method :sets, :exercise_sets
scope :recent, -> { order(occurred_at: :desc) }
+ scope :with_exercise, ->(exercise) do
+ joins(:exercises).where(exercises: { id: exercise.id })
+ end
def body_weight
Quantity.new(read_attribute(:body_weight), :lbs)
@@ -16,8 +19,8 @@ class Workout < ActiveRecord::Base
def train(exercise, target_weight, repetitions:, set: nil)
set =
- if set.present? && sets.where(exercise: exercise).at(set).present?
- sets.where(exercise: exercise).at(set)
+ if set.present? && sets.for(exercise).at(set).present?
+ sets.for(exercise).at(set)
else
recommendation = program.recommendation_for(user, exercise)
sets.build(
config/environments/test.rb
@@ -42,10 +42,10 @@ Rails.application.configure do
config.action_mailer.default_options = { from: "from@example.com" }
config.middleware.use RackSessionAccess::Middleware
- config.after_intialize do
+ config.after_initialize do
Bullet.enable = true
Bullet.bullet_logger = true
- Bullet.raise = true
+ #Bullet.raise = true
end
config.log_level = :fatal
end
config/initializers/extensions.rb
@@ -15,3 +15,9 @@ class NilClass
0.0.lbs.to(units)
end
end
+
+class ActiveRecord::AssociationRelation
+ def at(index)
+ to_a.at(index)
+ end
+end
config/initializers/new_framework_defaults.rb
@@ -15,7 +15,7 @@ Rails.application.config.action_controller.forgery_protection_origin_check = tru
ActiveSupport.to_time_preserves_timezone = true
# Require `belongs_to` associations by default. Previous versions had false.
-Rails.application.config.active_record.belongs_to_required_by_default = true
+#Rails.application.config.active_record.belongs_to_required_by_default = true
# Do not halt callback chains when a callback returns false. Previous versions had true.
ActiveSupport.halt_callback_chains_on_return_false = false
db/migrate/20160704162352_fix_gender_defaults.rb
@@ -0,0 +1,9 @@
+class FixGenderDefaults < ActiveRecord::Migration[5.0]
+ def up
+ change_column_default :profiles, :gender, 0
+ end
+
+ def down
+ change_column_default :profiles, :gender, nil
+ end
+end
db/schema.rb
@@ -1,4 +1,3 @@
-# encoding: UTF-8
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
@@ -11,13 +10,13 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20160630154702) do
+ActiveRecord::Schema.define(version: 20160704162352) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
enable_extension "uuid-ossp"
- create_table "exercise_sets", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
+ create_table "exercise_sets", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
t.integer "target_repetitions", null: false
t.integer "actual_repetitions"
t.float "target_weight", null: false
@@ -26,27 +25,25 @@ ActiveRecord::Schema.define(version: 20160630154702) do
t.uuid "exercise_id", null: false
t.uuid "workout_id"
t.string "type", null: false
+ t.index ["exercise_id", "workout_id"], name: "index_exercise_sets_on_exercise_id_and_workout_id", using: :btree
+ t.index ["exercise_id"], name: "index_exercise_sets_on_exercise_id", using: :btree
end
- add_index "exercise_sets", ["exercise_id", "workout_id"], name: "index_exercise_sets_on_exercise_id_and_workout_id", using: :btree
- add_index "exercise_sets", ["exercise_id"], name: "index_exercise_sets_on_exercise_id", using: :btree
-
- create_table "exercises", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
+ create_table "exercises", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
t.string "name", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
- create_table "gyms", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
+ create_table "gyms", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
t.string "name", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "yelp_id"
+ t.index ["yelp_id"], name: "index_gyms_on_yelp_id", unique: true, using: :btree
end
- add_index "gyms", ["yelp_id"], name: "index_gyms_on_yelp_id", unique: true, using: :btree
-
- create_table "locations", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
+ create_table "locations", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
t.uuid "locatable_id"
t.string "locatable_type"
t.decimal "latitude", precision: 10, scale: 6
@@ -58,33 +55,30 @@ ActiveRecord::Schema.define(version: 20160630154702) do
t.string "postal_code"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
+ t.index ["locatable_id", "locatable_type"], name: "index_locations_on_locatable_id_and_locatable_type", using: :btree
end
- add_index "locations", ["locatable_id", "locatable_type"], name: "index_locations_on_locatable_id_and_locatable_type", using: :btree
-
- create_table "profiles", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
+ create_table "profiles", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
t.uuid "user_id", null: false
- t.integer "gender"
+ t.integer "gender", default: 0
t.integer "social_tolerance"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "time_zone", default: "UTC", null: false
t.uuid "gym_id"
+ t.index ["gym_id"], name: "index_profiles_on_gym_id", using: :btree
+ t.index ["user_id"], name: "index_profiles_on_user_id", unique: true, using: :btree
end
- add_index "profiles", ["gym_id"], name: "index_profiles_on_gym_id", using: :btree
- add_index "profiles", ["user_id"], name: "index_profiles_on_user_id", unique: true, using: :btree
-
- create_table "programs", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
+ create_table "programs", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
t.string "name", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "slug", null: false
+ t.index ["slug"], name: "index_programs_on_slug", unique: true, using: :btree
end
- add_index "programs", ["slug"], name: "index_programs_on_slug", unique: true, using: :btree
-
- create_table "received_emails", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
+ create_table "received_emails", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
t.uuid "user_id"
t.text "to"
t.text "from"
@@ -92,11 +86,10 @@ ActiveRecord::Schema.define(version: 20160630154702) do
t.text "body"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
+ t.index ["user_id"], name: "index_received_emails_on_user_id", using: :btree
end
- add_index "received_emails", ["user_id"], name: "index_received_emails_on_user_id", using: :btree
-
- create_table "recommendations", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
+ create_table "recommendations", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
t.uuid "exercise_id", null: false
t.uuid "routine_id", null: false
t.integer "sets", null: false
@@ -105,16 +98,15 @@ ActiveRecord::Schema.define(version: 20160630154702) do
t.datetime "updated_at", null: false
end
- create_table "routines", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
+ create_table "routines", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
t.uuid "program_id", null: false
t.string "name", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
+ t.index ["program_id"], name: "index_routines_on_program_id", using: :btree
end
- add_index "routines", ["program_id"], name: "index_routines_on_program_id", using: :btree
-
- create_table "user_sessions", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
+ create_table "user_sessions", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
t.uuid "user_id", null: false
t.string "ip"
t.text "user_agent"
@@ -122,33 +114,30 @@ ActiveRecord::Schema.define(version: 20160630154702) do
t.datetime "revoked_at"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
+ t.index ["user_id"], name: "index_user_sessions_on_user_id", using: :btree
end
- add_index "user_sessions", ["user_id"], name: "index_user_sessions_on_user_id", using: :btree
-
- create_table "users", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
+ create_table "users", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
t.string "username", null: false
t.string "email", null: false
t.string "password_digest"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
+ t.index ["username", "email"], name: "index_users_on_username_and_email", using: :btree
+ t.index ["username"], name: "index_users_on_username", using: :btree
end
- add_index "users", ["username", "email"], name: "index_users_on_username_and_email", using: :btree
- add_index "users", ["username"], name: "index_users_on_username", using: :btree
-
- create_table "workouts", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
+ create_table "workouts", id: :uuid, default: -> { "uuid_generate_v4()" }, force: :cascade do |t|
t.uuid "user_id", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.uuid "routine_id", null: false
t.datetime "occurred_at", null: false
t.float "body_weight"
+ t.index ["routine_id"], name: "index_workouts_on_routine_id", using: :btree
+ t.index ["user_id"], name: "index_workouts_on_user_id", using: :btree
end
- add_index "workouts", ["routine_id"], name: "index_workouts_on_routine_id", using: :btree
- add_index "workouts", ["user_id"], name: "index_workouts_on_user_id", using: :btree
-
add_foreign_key "profiles", "gyms"
add_foreign_key "received_emails", "users"
add_foreign_key "user_sessions", "users"
spec/models/workout_spec.rb
@@ -18,10 +18,11 @@ describe Workout, type: :model do
expect(result).to be_persisted
expect(result.exercise).to eql(squat)
expect(subject.progress_for(squat).to_sets).to eql([5])
- expect(subject.sets.at(0).exercise).to eql(squat)
- expect(subject.sets.at(0).target_weight).to eql(target_weight.to_f)
- expect(subject.sets.at(0).target_repetitions).to eql(5)
- expect(subject.sets.at(0).actual_repetitions).to eql(5)
+ sets = subject.sets.to_a
+ expect(sets.at(0).exercise).to eql(squat)
+ expect(sets.at(0).target_weight).to eql(target_weight.to_f)
+ expect(sets.at(0).target_repetitions).to eql(5)
+ expect(sets.at(0).actual_repetitions).to eql(5)
end
it "records the next set" do
Gemfile
@@ -46,6 +46,7 @@ source "https://rubygems.org" do
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
gem "rails-i18n", "~> 4.0.0"
gem "rails_12factor", group: :production
Gemfile.lock
@@ -2,66 +2,57 @@ GEM
remote: https://rubygems.org/
remote: https://rails-assets.org/
specs:
- actionmailer (4.2.6)
- actionpack (= 4.2.6)
- actionview (= 4.2.6)
- activejob (= 4.2.6)
+ actioncable (5.0.0)
+ actionpack (= 5.0.0)
+ nio4r (~> 1.2)
+ websocket-driver (~> 0.6.1)
+ actionmailer (5.0.0)
+ actionpack (= 5.0.0)
+ actionview (= 5.0.0)
+ activejob (= 5.0.0)
mail (~> 2.5, >= 2.5.4)
- rails-dom-testing (~> 1.0, >= 1.0.5)
- actionpack (4.2.6)
- actionview (= 4.2.6)
- activesupport (= 4.2.6)
- rack (~> 1.6)
- rack-test (~> 0.6.2)
- rails-dom-testing (~> 1.0, >= 1.0.5)
+ rails-dom-testing (~> 2.0)
+ actionpack (5.0.0)
+ actionview (= 5.0.0)
+ activesupport (= 5.0.0)
+ rack (~> 2.0)
+ rack-test (~> 0.6.3)
+ rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
- actionview (4.2.6)
- activesupport (= 4.2.6)
+ actionview (5.0.0)
+ activesupport (= 5.0.0)
builder (~> 3.1)
erubis (~> 2.7.0)
- rails-dom-testing (~> 1.0, >= 1.0.5)
+ rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
- activejob (4.2.6)
- activesupport (= 4.2.6)
- globalid (>= 0.3.0)
- activemodel (4.2.6)
- activesupport (= 4.2.6)
- builder (~> 3.1)
- activerecord (4.2.6)
- activemodel (= 4.2.6)
- activesupport (= 4.2.6)
- arel (~> 6.0)
- activesupport (4.2.6)
+ activejob (5.0.0)
+ activesupport (= 5.0.0)
+ globalid (>= 0.3.6)
+ activemodel (5.0.0)
+ activesupport (= 5.0.0)
+ activerecord (5.0.0)
+ activemodel (= 5.0.0)
+ activesupport (= 5.0.0)
+ arel (~> 7.0)
+ activesupport (5.0.0)
+ concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (~> 0.7)
- json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
- thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.4.0)
- arel (6.0.3)
- ast (2.2.0)
+ arel (7.0.0)
+ ast (2.3.0)
axiom-types (0.1.1)
descendants_tracker (~> 0.0.4)
ice_nine (~> 0.11.0)
thread_safe (~> 0.3, >= 0.3.1)
bcrypt (3.1.11)
- binding_of_caller (0.7.2)
- debug_inspector (>= 0.0.1)
- brakeman (3.2.1)
- erubis (~> 2.6)
- haml (>= 3.0, < 5.0)
- highline (>= 1.6.20, < 2.0)
- ruby2ruby (~> 2.3.0)
- ruby_parser (~> 3.8.1)
- safe_yaml (>= 1.0)
- sass (~> 3.0)
- slim (>= 1.3.6, < 4.0)
- terminal-table (~> 1.4)
+ brakeman (3.3.2)
builder (3.2.2)
- bullet (5.0.0)
+ bullet (5.1.1)
activesupport (>= 3.0.0)
- uniform_notifier (~> 1.9.0)
- byebug (8.2.4)
+ uniform_notifier (~> 1.10.0)
+ byebug (9.0.5)
callsite (0.0.11)
capistrano (3.4.1)
i18n
@@ -70,13 +61,13 @@ GEM
capistrano-bundler (1.1.4)
capistrano (~> 3.1)
sshkit (~> 1.2)
- capistrano-rails (1.1.6)
+ capistrano-rails (1.1.7)
capistrano (~> 3.1)
capistrano-bundler (~> 1.1)
capistrano-rbenv (2.0.4)
capistrano (~> 3.1)
sshkit (~> 1.3)
- capybara (2.7.0)
+ capybara (2.7.1)
addressable
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
@@ -85,21 +76,21 @@ GEM
xpath (~> 2.0)
carmen (1.0.2)
activesupport (>= 3.0.0)
- chartkick (1.4.2)
+ chartkick (2.0.0)
choice (0.2.0)
cliver (0.3.2)
- codeclimate-test-reporter (0.5.0)
+ codeclimate-test-reporter (0.6.0)
simplecov (>= 0.7.1, < 1.0.0)
coercible (1.0.0)
descendants_tracker (~> 0.0.1)
- coffee-rails (4.1.1)
+ coffee-rails (4.2.1)
coffee-script (>= 2.2.0)
- railties (>= 4.0.0, < 5.1.x)
+ railties (>= 4.0.0, < 5.2.x)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.10.0)
- concurrent-ruby (1.0.1)
+ concurrent-ruby (1.0.2)
connection_pool (2.2.0)
coveralls (0.8.13)
json (~> 1.8)
@@ -109,22 +100,21 @@ GEM
tins (~> 1.6.0)
crack (0.4.3)
safe_yaml (~> 1.0.0)
- cucumber (2.3.3)
+ cucumber (2.4.0)
builder (>= 2.1.2)
- cucumber-core (~> 1.4.0)
+ cucumber-core (~> 1.5.0)
cucumber-wire (~> 0.0.1)
diff-lcs (>= 1.1.3)
- gherkin (~> 3.2.0)
+ gherkin (~> 4.0)
multi_json (>= 1.7.5, < 2.0)
multi_test (>= 0.1.2)
- cucumber-core (1.4.0)
- gherkin (~> 3.2.0)
- cucumber-rails (1.4.3)
- capybara (>= 1.1.2, < 3)
- cucumber (>= 1.3.8, < 3)
- mime-types (>= 1.16, < 4)
- nokogiri (~> 1.5)
- railties (>= 3, < 5)
+ cucumber-core (1.5.0)
+ gherkin (~> 4.0)
+ cucumber-rails (1.4.0)
+ capybara (>= 1.1.2)
+ cucumber (>= 1.2.0)
+ nokogiri (>= 1.5.0)
+ rails (>= 3.0.0)
cucumber-wire (0.0.1)
dalli (2.7.6)
database_cleaner (1.5.3)
@@ -145,7 +135,7 @@ GEM
activemodel
equalizer (0.0.11)
erubis (2.7.0)
- execjs (2.6.0)
+ execjs (2.7.0)
factory_girl (4.7.0)
activesupport (>= 3.0.0)
factory_girl_rails (4.7.0)
@@ -155,28 +145,26 @@ GEM
multipart-post (>= 1.2, < 3)
faraday_middleware (0.10.0)
faraday (>= 0.7.4, < 0.10)
- fast_stack (0.2.0)
ffaker (2.2.0)
- flamegraph (0.1.0)
- fast_stack
- flipper (0.7.5)
- flipper-redis (0.7.5)
- flipper (~> 0.7.5)
+ ffi (1.9.10)
+ flamegraph (0.9.5)
+ flipper (0.8.0)
+ flipper-redis (0.8.0)
+ flipper (~> 0.8.0)
redis (>= 2.2, < 4.0.0)
- font-awesome-rails (4.6.1.0)
+ font-awesome-rails (4.6.3.1)
railties (>= 3.2, < 5.1)
- foreman (0.80.2)
+ foreman (0.82.0)
thor (~> 0.19.1)
foundation-rails (5.5.3.2)
railties (>= 3.1.0)
sass (>= 3.3.0, < 3.5)
- geocoder (1.3.4)
+ geocoder (1.3.7)
geokit (1.10.0)
geokit-rails (2.1.0)
geokit (~> 1.5)
rails (>= 3.0)
- gherkin (3.2.0)
- git-version-bump (0.15.1)
+ gherkin (4.0.0)
globalid (0.3.6)
activesupport (>= 4.1.0)
griddler (1.3.1)
@@ -184,10 +172,8 @@ GEM
rails (>= 3.2.0)
griddler-sendgrid (0.0.1)
griddler
- groupdate (2.5.2)
+ groupdate (3.0.0)
activesupport (>= 3)
- haml (4.0.7)
- tilt
hashdiff (0.3.0)
highline (1.7.8)
htmlentities (4.3.4)
@@ -204,7 +190,7 @@ GEM
term-ansicolor (>= 1.3.2)
terminal-table (>= 1.5.1)
ice_nine (0.11.2)
- jbuilder (2.4.1)
+ jbuilder (2.5.0)
activesupport (>= 3.0.0, < 5.1)
multi_json (~> 1.2)
jquery-rails (4.1.1)
@@ -214,11 +200,14 @@ GEM
jquery-turbolinks (2.1.0)
railties (>= 3.1.0)
turbolinks
- json (1.8.2)
- kaminari (0.16.3)
+ json (1.8.3)
+ kaminari (0.17.0)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
- libv8 (3.16.14.13)
+ libv8 (3.16.14.15)
+ listen (3.0.8)
+ rb-fsevent (~> 0.9, >= 0.9.4)
+ rb-inotify (~> 0.9, >= 0.9.7)
loofah (2.0.3)
nokogiri (>= 1.5.9)
mail (2.6.4)
@@ -227,33 +216,35 @@ GEM
callsite (~> 0.0, >= 0.0.11)
rack-contrib (~> 1.1)
railties (>= 3.0.0, < 5.1.0)
- mime-types (3.0)
+ method_source (0.8.2)
+ mime-types (3.1)
mime-types-data (~> 3.2015)
- mime-types-data (3.2016.0221)
- mini_portile2 (2.0.0)
- minitest (5.8.4)
- multi_json (1.11.3)
+ mime-types-data (3.2016.0521)
+ mini_portile2 (2.1.0)
+ minitest (5.9.0)
+ multi_json (1.12.1)
multi_test (0.1.2)
multipart-post (2.0.0)
net-scp (1.2.1)
net-ssh (>= 2.6.5)
- net-ssh (3.1.1)
- nokogiri (1.6.7.2)
- mini_portile2 (~> 2.0.0.rc2)
- parser (2.3.0.7)
+ net-ssh (3.2.0)
+ nio4r (1.2.1)
+ nokogiri (1.6.8)
+ mini_portile2 (~> 2.1.0)
+ pkg-config (~> 1.1.7)
+ parser (2.3.1.2)
ast (~> 2.2)
pg (0.18.4)
- poltergeist (1.9.0)
+ pkg-config (1.1.7)
+ poltergeist (1.10.0)
capybara (~> 2.1)
cliver (~> 0.3.1)
- multi_json (~> 1.0)
websocket-driver (>= 0.2.0)
puma (3.4.0)
- rack (1.6.4)
- rack-contrib (1.4.0)
- git-version-bump (~> 0.15)
- rack (~> 1.4)
- rack-mini-profiler (0.9.9.2)
+ rack (2.0.1)
+ rack-contrib (1.2.0)
+ rack (>= 0.9.1)
+ rack-mini-profiler (0.10.1)
rack (>= 1.2.0)
rack-test (0.6.3)
rack (>= 1.0)
@@ -265,31 +256,33 @@ GEM
execjs (>= 1.3)
sprockets (>= 2.0)
tilt (>= 1.3)
- rails (4.2.6)
- actionmailer (= 4.2.6)
- actionpack (= 4.2.6)
- actionview (= 4.2.6)
- activejob (= 4.2.6)
- activemodel (= 4.2.6)
- activerecord (= 4.2.6)
- activesupport (= 4.2.6)
+ rails (5.0.0)
+ actioncable (= 5.0.0)
+ actionmailer (= 5.0.0)
+ actionpack (= 5.0.0)
+ actionview (= 5.0.0)
+ activejob (= 5.0.0)
+ activemodel (= 5.0.0)
+ activerecord (= 5.0.0)
+ activesupport (= 5.0.0)
bundler (>= 1.3.0, < 2.0)
- railties (= 4.2.6)
- sprockets-rails
+ railties (= 5.0.0)
+ sprockets-rails (>= 2.0.0)
rails-assets-backbone (1.3.3)
rails-assets-underscore (>= 1.8.3)
- rails-assets-clipboard (1.5.10)
+ rails-assets-clipboard (1.5.12)
rails-assets-lodash (4.13.1)
rails-assets-moment (2.13.0)
rails-assets-ractive (0.7.3)
rails-assets-ractive-backbone (0.3.0)
rails-assets-underscore (1.8.3)
- rails-deprecated_sanitizer (1.0.3)
- activesupport (>= 4.2.0.alpha)
- rails-dom-testing (1.0.7)
- activesupport (>= 4.2.0.beta, < 5.0)
+ rails-controller-testing (0.1.1)
+ actionpack (~> 5.x)
+ actionview (~> 5.x)
+ activesupport (~> 5.x)
+ rails-dom-testing (2.0.1)
+ activesupport (>= 4.2.0, < 6.0)
nokogiri (~> 1.6.0)
- rails-deprecated_sanitizer (>= 1.0.1)
rails-erd (1.4.7)
activerecord (>= 3.2)
activesupport (>= 3.2)
@@ -297,52 +290,51 @@ GEM
ruby-graphviz (~> 1.2)
rails-html-sanitizer (1.0.3)
loofah (~> 2.0)
- rails-i18n (4.0.8)
- i18n (~> 0.7)
- railties (~> 4.0)
+ rails-i18n (4.0.2)
+ i18n (~> 0.6)
+ rails (>= 4.0)
rails_12factor (0.0.3)
rails_serve_static_assets
rails_stdout_logging
rails_serve_static_assets (0.0.5)
rails_stdout_logging (0.0.5)
- railties (4.2.6)
- actionpack (= 4.2.6)
- activesupport (= 4.2.6)
+ railties (5.0.0)
+ actionpack (= 5.0.0)
+ activesupport (= 5.0.0)
+ method_source
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
- rake (11.1.2)
+ rake (11.2.2)
+ rb-fsevent (0.9.7)
+ rb-inotify (0.9.7)
+ ffi (>= 0.5.0)
rdoc (4.2.2)
json (~> 1.4)
redis (3.3.0)
ref (2.0.0)
- rspec-core (3.4.4)
- rspec-support (~> 3.4.0)
- rspec-expectations (3.4.0)
+ rspec-core (3.5.0)
+ rspec-support (~> 3.5.0)
+ rspec-expectations (3.5.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.4.0)
- rspec-mocks (3.4.1)
+ rspec-support (~> 3.5.0)
+ rspec-mocks (3.5.0)
diff-lcs (>= 1.2.0, < 2.0)
- rspec-support (~> 3.4.0)
- rspec-rails (3.4.2)
- actionpack (>= 3.0, < 4.3)
- activesupport (>= 3.0, < 4.3)
- railties (>= 3.0, < 4.3)
- rspec-core (~> 3.4.0)
- rspec-expectations (~> 3.4.0)
- rspec-mocks (~> 3.4.0)
- rspec-support (~> 3.4.0)
- rspec-support (3.4.1)
+ rspec-support (~> 3.5.0)
+ rspec-rails (3.5.0)
+ actionpack (>= 3.0)
+ activesupport (>= 3.0)
+ railties (>= 3.0)
+ rspec-core (~> 3.5.0)
+ rspec-expectations (~> 3.5.0)
+ rspec-mocks (~> 3.5.0)
+ rspec-support (~> 3.5.0)
+ rspec-support (3.5.0)
ruby-graphviz (1.2.2)
- ruby2ruby (2.3.0)
- ruby_parser (~> 3.1)
- sexp_processor (~> 4.0)
- ruby_parser (3.8.1)
- sexp_processor (~> 4.1)
rubyzip (1.2.0)
safe_yaml (1.0.4)
sass (3.4.22)
- sass-rails (5.0.4)
- railties (>= 4.0.0, < 5.0)
+ sass-rails (5.0.5)
+ railties (>= 4.0.0, < 6)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
@@ -353,8 +345,7 @@ GEM
sdoc (0.4.1)
json (~> 1.7, >= 1.7.7)
rdoc (~> 4.0)
- sexp_processor (4.7.0)
- sidekiq (4.1.1)
+ sidekiq (4.1.2)
concurrent-ruby (~> 1.0)
connection_pool (~> 2.2, >= 2.2.0)
redis (~> 3.2, >= 3.2.1)
@@ -364,24 +355,24 @@ GEM
json (~> 1.8)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.0)
- slim (3.0.6)
- temple (~> 0.7.3)
- tilt (>= 1.3.3, < 2.1)
- spring (1.7.1)
+ spring (1.7.2)
spring-commands-cucumber (1.0.1)
spring (>= 0.9.1)
spring-commands-rspec (1.0.4)
spring (>= 0.9.1)
spring-commands-teaspoon (0.0.2)
spring (>= 0.9.1)
- sprockets (3.6.0)
+ spring-watcher-listen (2.0.0)
+ listen (>= 2.7, < 4.0)
+ spring (~> 1.2)
+ sprockets (3.6.3)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (2.3.3)
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0)
- sshkit (1.10.0)
+ sshkit (1.11.1)
net-scp (>= 1.1.2)
net-ssh (>= 2.8.0)
stackprof (0.2.9)
@@ -389,41 +380,40 @@ GEM
railties (>= 3.2.5, < 6)
teaspoon-jasmine (2.3.4)
teaspoon (>= 1.0.0)
- temple (0.7.6)
term-ansicolor (1.3.2)
tins (~> 1.0)
- terminal-table (1.5.2)
+ terminal-table (1.6.0)
therubyracer (0.12.2)
libv8 (~> 3.16.14.0)
ref
thor (0.19.1)
thread (0.2.2)
thread_safe (0.3.5)
- tilt (2.0.2)
+ tilt (2.0.5)
tins (1.6.0)
- turbolinks (2.5.3)
- coffee-rails
+ turbolinks (5.0.0)
+ turbolinks-source (~> 5)
+ turbolinks-source (5.0.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
uglifier (3.0.0)
execjs (>= 0.3.0, < 3)
- uniform_notifier (1.9.0)
+ uniform_notifier (1.10.0)
vcr (3.0.3)
virtus (1.0.5)
axiom-types (~> 0.1)
coercible (~> 1.0)
descendants_tracker (~> 0.0, >= 0.0.3)
equalizer (~> 0.0, >= 0.0.9)
- web-console (2.3.0)
- activemodel (>= 4.0)
- binding_of_caller (>= 0.7.2)
- railties (>= 4.0)
- sprockets-rails (>= 2.0, < 4.0)
- webmock (2.0.3)
+ web-console (3.3.0)
+ activemodel (>= 4.2)
+ debug_inspector
+ railties (>= 4.2)
+ webmock (2.1.0)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
- websocket-driver (0.6.3)
+ websocket-driver (0.6.4)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2)
xpath (2.0.0)
@@ -448,7 +438,7 @@ DEPENDENCIES
carmen!
chartkick!
codeclimate-test-reporter!
- coffee-rails (~> 4.1)!
+ coffee-rails (~> 4.2)!
coveralls!
cucumber-rails!
dalli!
@@ -470,28 +460,31 @@ DEPENDENCIES
groupdate!
http_accept_language!
i18n-tasks!
- jbuilder (~> 2.0)!
+ jbuilder (~> 2.5)!
jquery-rails!
jquery-turbolinks!
kaminari!
+ listen (~> 3.0.5)!
meta_request!
pg!
poltergeist!
- puma!
+ puma (~> 3.0)!
rack-mini-profiler!
rack-timeout!
rack_session_access!
ractive-rails!
- rails (~> 4.2)!
+ rails (~> 5.0.0)!
rails-assets-backbone!
rails-assets-clipboard!
rails-assets-lodash!
rails-assets-moment!
rails-assets-ractive!
rails-assets-ractive-backbone!
+ rails-controller-testing!
rails-erd!
rails-i18n (~> 4.0.0)!
rails_12factor!
+ redis (~> 3.0)!
rspec-rails!
rubyzip!
sass-rails (~> 5.0)!
@@ -502,14 +495,15 @@ DEPENDENCIES
spring-commands-cucumber!
spring-commands-rspec!
spring-commands-teaspoon!
+ spring-watcher-listen (~> 2.0.0)!
sprockets-rails (= 2.3.3)!
stackprof!
teaspoon-jasmine!
therubyracer!
- turbolinks!
+ turbolinks (~> 5)!
uglifier (>= 1.3.0)!
vcr!
- web-console (~> 2.0)!
+ web-console!
webmock!
yelp!