Commit 3a77966e

mo <mokha@cisco.com>
2017-04-18 03:38:03
upgrade to ruby 2.4.1
1 parent d00363a
config/initializers/aws.rb
@@ -1,6 +1,5 @@
-AWS.config(
-  access_key_id: ENV['AWS_ACCESS_KEY_ID'], 
-  secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
+Aws.config.update(
+  credentials: Aws::Credentials.new(ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']),
   logger: Rails.logger,
   log_level: :debug,
 )
config/initializers/mailchimp.rb
@@ -1,3 +1,3 @@
-Gibbon::API.api_key = ENV['MAILCHIMP_API_KEY']
-Gibbon::API.timeout = 15
-Gibbon::API.throws_exceptions = false
+Gibbon::Request.api_key = ENV['MAILCHIMP_API_KEY']
+Gibbon::Request.timeout = 15
+Gibbon::Request.throws_exceptions = false
db/schema.rb
@@ -18,11 +18,11 @@ ActiveRecord::Schema.define(version: 20150111153140) do
   enable_extension "uuid-ossp"
 
   create_table "activities", force: :cascade do |t|
-    t.integer  "subject_id",               null: false
-    t.string   "subject_type", limit: 255, null: false
-    t.integer  "user_id",                  null: false
-    t.datetime "created_at",               null: false
-    t.datetime "updated_at",               null: false
+    t.integer  "subject_id",   null: false
+    t.string   "subject_type", null: false
+    t.integer  "user_id",      null: false
+    t.datetime "created_at",   null: false
+    t.datetime "updated_at",   null: false
   end
 
   add_index "activities", ["subject_id"], name: "index_activities_on_subject_id", using: :btree
@@ -31,20 +31,20 @@ ActiveRecord::Schema.define(version: 20150111153140) do
 
   create_table "avatars", force: :cascade do |t|
     t.integer  "user_id"
-    t.datetime "created_at",                    null: false
-    t.datetime "updated_at",                    null: false
-    t.string   "avatar",            limit: 255
+    t.datetime "created_at"
+    t.datetime "updated_at"
+    t.string   "avatar"
     t.boolean  "avatar_processing"
-    t.string   "avatar_tmp",        limit: 255
+    t.string   "avatar_tmp"
   end
 
   add_index "avatars", ["user_id"], name: "index_avatars_on_user_id", using: :btree
 
   create_table "categories", force: :cascade do |t|
-    t.string   "name",       limit: 255
+    t.string   "name"
     t.datetime "created_at"
     t.datetime "updated_at"
-    t.string   "slug",       limit: 255
+    t.string   "slug"
   end
 
   add_index "categories", ["slug"], name: "index_categories_on_slug", using: :btree
@@ -52,7 +52,7 @@ ActiveRecord::Schema.define(version: 20150111153140) do
   create_table "comments", force: :cascade do |t|
     t.integer  "user_id"
     t.integer  "creation_id"
-    t.string   "text",        limit: 255
+    t.string   "text"
     t.integer  "disqus_id"
     t.datetime "created_at"
     t.datetime "updated_at"
@@ -62,15 +62,15 @@ ActiveRecord::Schema.define(version: 20150111153140) do
   add_index "comments", ["user_id"], name: "index_comments_on_user_id", using: :btree
 
   create_table "creations", force: :cascade do |t|
-    t.string   "name",            limit: 255
+    t.string   "name"
     t.text     "story"
     t.datetime "created_at"
     t.datetime "updated_at"
     t.integer  "user_id"
-    t.string   "image",           limit: 255
-    t.string   "watermark",       limit: 255
-    t.integer  "photos_count",                default: 0
-    t.integer  "favorites_count",             default: 0
+    t.string   "image"
+    t.string   "watermark"
+    t.integer  "photos_count",    default: 0
+    t.integer  "favorites_count", default: 0
     t.integer  "category_id"
   end
 
@@ -79,17 +79,17 @@ ActiveRecord::Schema.define(version: 20150111153140) do
   add_index "creations", ["user_id"], name: "index_creations_on_user_id", using: :btree
 
   create_table "delayed_jobs", force: :cascade do |t|
-    t.integer  "priority",               default: 0
-    t.integer  "attempts",               default: 0
+    t.integer  "priority",   default: 0
+    t.integer  "attempts",   default: 0
     t.text     "handler"
     t.text     "last_error"
     t.datetime "run_at"
     t.datetime "locked_at"
     t.datetime "failed_at"
-    t.string   "locked_by",  limit: 255
-    t.string   "queue",      limit: 255
-    t.datetime "created_at",                         null: false
-    t.datetime "updated_at",                         null: false
+    t.string   "locked_by"
+    t.string   "queue"
+    t.datetime "created_at"
+    t.datetime "updated_at"
   end
 
   add_index "delayed_jobs", ["priority", "run_at"], name: "delayed_jobs_priority", using: :btree
@@ -105,18 +105,18 @@ ActiveRecord::Schema.define(version: 20150111153140) do
   add_index "favorites", ["user_id"], name: "index_favorites_on_user_id", using: :btree
 
   create_table "interests", force: :cascade do |t|
-    t.string   "name",       limit: 255
-    t.datetime "created_at",             null: false
-    t.datetime "updated_at",             null: false
+    t.string   "name"
+    t.datetime "created_at"
+    t.datetime "updated_at"
   end
 
   create_table "locations", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
     t.uuid     "locatable_id"
-    t.string   "locatable_type", limit: 255
-    t.string   "latitude",       limit: 255
-    t.string   "longitude",      limit: 255
-    t.string   "city",           limit: 255
-    t.string   "country",        limit: 255
+    t.string   "locatable_type"
+    t.string   "latitude"
+    t.string   "longitude"
+    t.string   "city"
+    t.string   "country"
     t.datetime "created_at"
     t.datetime "updated_at"
   end
@@ -125,18 +125,18 @@ ActiveRecord::Schema.define(version: 20150111153140) do
 
   create_table "photos", force: :cascade do |t|
     t.integer  "imageable_id"
-    t.string   "image",             limit: 255
+    t.string   "image"
     t.datetime "created_at"
     t.datetime "updated_at"
-    t.string   "image_tmp",         limit: 255
+    t.string   "image_tmp"
     t.boolean  "image_processing"
-    t.string   "content_type",      limit: 255
-    t.string   "original_filename", limit: 255
+    t.string   "content_type"
+    t.string   "original_filename"
     t.float    "latitude"
     t.float    "longitude"
-    t.string   "sha256",            limit: 255
-    t.string   "watermark",         limit: 255
-    t.string   "imageable_type",    limit: 255
+    t.string   "sha256"
+    t.string   "watermark"
+    t.string   "imageable_type"
   end
 
   add_index "photos", ["imageable_id", "imageable_type"], name: "index_photos_on_imageable_id_and_imageable_type", using: :btree
@@ -145,9 +145,9 @@ ActiveRecord::Schema.define(version: 20150111153140) do
   create_table "taggings", force: :cascade do |t|
     t.integer  "tag_id"
     t.integer  "taggable_id"
-    t.string   "taggable_type", limit: 255
+    t.string   "taggable_type"
     t.integer  "tagger_id"
-    t.string   "tagger_type",   limit: 255
+    t.string   "tagger_type"
     t.string   "context",       limit: 128
     t.datetime "created_at"
   end
@@ -159,10 +159,12 @@ ActiveRecord::Schema.define(version: 20150111153140) do
   add_index "taggings", ["tagger_type"], name: "index_taggings_on_tagger_type", using: :btree
 
   create_table "tags", force: :cascade do |t|
-    t.string  "name",           limit: 255
-    t.integer "taggings_count",             default: 0
+    t.string  "name"
+    t.integer "taggings_count", default: 0
   end
 
+  add_index "tags", ["name"], name: "index_tags_on_name", unique: true, using: :btree
+
   create_table "tools", force: :cascade do |t|
     t.string   "name",        null: false
     t.text     "description"
@@ -175,15 +177,15 @@ ActiveRecord::Schema.define(version: 20150111153140) do
   add_index "tools", ["name"], name: "index_tools_on_name", unique: true, using: :btree
 
   create_table "tutorials", force: :cascade do |t|
-    t.string   "heading",     limit: 255
+    t.string   "heading"
     t.text     "description"
-    t.string   "url",         limit: 255
+    t.string   "url"
     t.integer  "user_id"
-    t.datetime "created_at",              null: false
-    t.datetime "updated_at",              null: false
-    t.string   "image_url",   limit: 255
-    t.string   "author",      limit: 255
-    t.string   "author_url",  limit: 255
+    t.datetime "created_at"
+    t.datetime "updated_at"
+    t.string   "image_url"
+    t.string   "author"
+    t.string   "author_url"
   end
 
   add_index "tutorials", ["user_id"], name: "index_tutorials_on_user_id", using: :btree
@@ -192,8 +194,8 @@ ActiveRecord::Schema.define(version: 20150111153140) do
     t.integer  "user_id"
     t.datetime "created_at"
     t.datetime "updated_at"
-    t.string   "key",         limit: 255
-    t.string   "ip",          limit: 255
+    t.string   "key"
+    t.string   "ip"
     t.text     "user_agent"
     t.datetime "accessed_at"
     t.datetime "revoked_at"
@@ -205,20 +207,20 @@ ActiveRecord::Schema.define(version: 20150111153140) do
   add_index "user_sessions", ["user_id"], name: "index_user_sessions_on_user_id", using: :btree
 
   create_table "users", force: :cascade do |t|
-    t.string   "email",                  limit: 255, default: "", null: false
-    t.string   "password_digest",        limit: 128, default: "", null: false
-    t.string   "reset_password_token",   limit: 255
+    t.string   "email",                  default: "", null: false
+    t.string   "password_digest",        default: "", null: false
+    t.string   "reset_password_token"
     t.datetime "reset_password_sent_at"
     t.datetime "created_at"
     t.datetime "updated_at"
-    t.string   "name",                   limit: 255
-    t.string   "website",                limit: 255
-    t.string   "twitter",                limit: 255
-    t.string   "facebook",               limit: 255
-    t.string   "city",                   limit: 255
-    t.string   "authentication_token",   limit: 255
-    t.string   "full_address",           limit: 255
-    t.integer  "creations_count",                    default: 0
+    t.string   "name"
+    t.string   "website"
+    t.string   "twitter"
+    t.string   "facebook"
+    t.string   "city"
+    t.string   "authentication_token"
+    t.string   "full_address"
+    t.integer  "creations_count",        default: 0
     t.boolean  "admin"
   end
 
spec/controllers/passwords_controller_spec.rb
@@ -9,7 +9,7 @@ describe PasswordsController do
   end
 
   describe "#create" do
-    let(:email) { Faker::Internet.email }
+    let(:email) { FFaker::Internet.email }
 
     it "sends a password reset email for the user" do
       allow(PasswordReset).to receive(:send_reset_instructions_to)
spec/features/registration_spec.rb
@@ -6,7 +6,7 @@ describe "Registration", :js => true do
       visit login_path
       within(".form-horizontal") do
         fill_in('user_name', :with => 'John Smith')
-        fill_in('user_email',:with => Faker::Internet.email)
+        fill_in('user_email',:with => FFaker::Internet.email)
         fill_in('user_password', :with => 'password')
         click_button "submit-registration"
       end
spec/models/password_reset_spec.rb
@@ -25,7 +25,7 @@ describe PasswordReset do
     end
 
     it "does nothing if the email is not known" do
-      PasswordReset.send_reset_instructions_to(Faker::Internet.email)
+      PasswordReset.send_reset_instructions_to(FFaker::Internet.email)
       expect(mailer).to_not have_received(:deliver_later)
     end
   end
spec/services/infrastructure/image_spec.rb
@@ -45,7 +45,7 @@ describe Image do
     end
 
     it "returns the correct content type for bmp" do
-      expect(Image.new('blah.bmp').content_type).to eql('image/x-bmp')
+      expect(Image.new('blah.bmp').content_type).to eql('image/bmp')
     end
 
     it "returns the correct content type for tif" do
spec/factories.rb
@@ -5,13 +5,13 @@ FactoryGirl.define do
   end
 
   factory :category, class: Category do
-    name { Faker::Name.name }
-    slug { Faker::Name.name.parameterize }
+    name { FFaker::Name.name }
+    slug { FFaker::Name.name.parameterize }
   end
 
   factory :cake, class: Creation, aliases: [:creation] do
-    name { Faker::Name.name }
-    story { Faker::HipsterIpsum.words(50).join(' ') }
+    name { FFaker::Name.name }
+    story { FFaker::HipsterIpsum.words(50).join(' ') }
     association :user
     association :category
     factory :published_cake do
@@ -25,7 +25,7 @@ FactoryGirl.define do
   factory :user_session, class: UserSession do
     association :user
     key SecureRandom.urlsafe_base64(32)
-    ip Faker::Internet.ip_v4_address
+    ip FFaker::Internet.ip_v4_address
     factory :active_session do
       accessed_at Time.now
     end
@@ -47,24 +47,24 @@ FactoryGirl.define do
   end
 
   factory :tag, :class => "ActsAsTaggableOn::Tag" do
-    name { Faker::Name.name }
+    name { FFaker::Name.name }
   end
 
   factory :tutorial do
-    heading { Faker::Name.name }
+    heading { FFaker::Name.name }
     description "well hello there"
-    url { Faker::Internet.http_url }
-    image_url { Faker::Internet.http_url }
-    author { Faker::Name.name }
-    author_url { Faker::Internet.http_url }
+    url { FFaker::Internet.http_url }
+    image_url { FFaker::Internet.http_url }
+    author { FFaker::Name.name }
+    author_url { FFaker::Internet.http_url }
     association :user
   end
 
   factory :user, class: User do
-    name { Faker::Name.name }
-    email { Faker::Internet.email }
+    name { FFaker::Name.name }
+    email { FFaker::Internet.email }
     password 'password'
-    website { Faker::Internet.http_url }
+    website { FFaker::Internet.http_url }
     city 'calgary'
     factory :admin do
       admin true
@@ -79,7 +79,7 @@ FactoryGirl.define do
   end
 
   factory :tool do
-    name { Faker::Name.name }
+    name { FFaker::Name.name }
     asin { SecureRandom.uuid }
   end
 end
spec/spec_helper.rb
@@ -1,5 +1,3 @@
-require "codeclimate-test-reporter"
-CodeClimate::TestReporter.start
 # This file was generated by the `rails generate rspec:install` command. Conventionally, all
 # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
 # The generated `.rspec` file contains `--require spec_helper` which will cause this
.ruby-version
@@ -1,1 +1,1 @@
-2.2.0
+2.4.1
.travis.yml
@@ -1,6 +1,6 @@
 language: ruby
 rvm:
-  - 2.2.0
+  - 2.4.1
 cache: bundler
 addons:
   postgresql: '9.3'
Gemfile
@@ -1,6 +1,6 @@
 source 'https://rubygems.org'
 
-gem 'rails', '4.2.0'
+gem 'rails', '4.2.8'
 gem 'sass-rails', '~> 5.0'
 gem 'uglifier', '>= 1.3.0'
 gem 'coffee-rails', '~> 4.1.0'
@@ -53,25 +53,25 @@ group :development do
   gem 'better_errors'
   gem 'lol_dba'
   gem 'pry-rails'
+  gem 'web-console', '~> 2.0'
 end
 
 group :development, :test do
-  gem 'sqlite3'
-  gem 'rspec-rails'
-  gem 'teaspoon'
+  gem 'binding_of_caller'
+  gem 'byebug'
   gem 'database_cleaner'
   gem 'factory_girl_rails'
-  gem "codeclimate-test-reporter", require: nil
   gem 'ffaker'
-  gem 'poltergeist'
-  gem 'phantomjs', :require => 'phantomjs/poltergeist'
-  gem 'binding_of_caller'
   gem 'foreman'
-  gem 'spring'
-  gem 'byebug'
-  gem 'web-console', '~> 2.0'
   gem 'i18n-tasks'
+  gem 'phantomjs', :require => 'phantomjs/poltergeist'
+  gem 'poltergeist'
   gem 'puma'
+  gem 'rspec-rails'
+  gem 'simplecov', require: false
+  gem 'spring'
+  gem 'sqlite3'
+  gem 'teaspoon-jasmine'
 end
 
 group :production, :staging do
Gemfile.lock
@@ -1,62 +1,68 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    CFPropertyList (2.2.8)
-    actionmailer (4.2.0)
-      actionpack (= 4.2.0)
-      actionview (= 4.2.0)
-      activejob (= 4.2.0)
+    CFPropertyList (2.3.5)
+    actionmailer (4.2.8)
+      actionpack (= 4.2.8)
+      actionview (= 4.2.8)
+      activejob (= 4.2.8)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 1.0, >= 1.0.5)
-    actionpack (4.2.0)
-      actionview (= 4.2.0)
-      activesupport (= 4.2.0)
-      rack (~> 1.6.0)
+    actionpack (4.2.8)
+      actionview (= 4.2.8)
+      activesupport (= 4.2.8)
+      rack (~> 1.6)
       rack-test (~> 0.6.2)
       rails-dom-testing (~> 1.0, >= 1.0.5)
-      rails-html-sanitizer (~> 1.0, >= 1.0.1)
-    actionview (4.2.0)
-      activesupport (= 4.2.0)
+      rails-html-sanitizer (~> 1.0, >= 1.0.2)
+    actionview (4.2.8)
+      activesupport (= 4.2.8)
       builder (~> 3.1)
       erubis (~> 2.7.0)
       rails-dom-testing (~> 1.0, >= 1.0.5)
-      rails-html-sanitizer (~> 1.0, >= 1.0.1)
-    activejob (4.2.0)
-      activesupport (= 4.2.0)
+      rails-html-sanitizer (~> 1.0, >= 1.0.3)
+    activejob (4.2.8)
+      activesupport (= 4.2.8)
       globalid (>= 0.3.0)
-    activemodel (4.2.0)
-      activesupport (= 4.2.0)
+    activemodel (4.2.8)
+      activesupport (= 4.2.8)
       builder (~> 3.1)
-    activerecord (4.2.0)
-      activemodel (= 4.2.0)
-      activesupport (= 4.2.0)
+    activerecord (4.2.8)
+      activemodel (= 4.2.8)
+      activesupport (= 4.2.8)
       arel (~> 6.0)
-    activesupport (4.2.0)
+    activesupport (4.2.8)
       i18n (~> 0.7)
-      json (~> 1.7, >= 1.7.7)
       minitest (~> 5.1)
       thread_safe (~> 0.3, >= 0.3.4)
       tzinfo (~> 1.1)
-    acts-as-taggable-on (3.4.2)
-      activerecord (>= 3.2, < 5)
-    addressable (2.3.6)
-    arel (6.0.0)
-    asin (2.0.1)
+    acts-as-taggable-on (4.0.0)
+      activerecord (>= 4.0)
+    addressable (2.5.1)
+      public_suffix (~> 2.0, >= 2.0.2)
+    airbrussh (1.2.0)
+      sshkit (>= 1.6.1, != 1.7.0)
+    arel (6.0.4)
+    asin (2.0.2)
       confiture (>= 0.1)
       crack (>= 0.3)
       hashie (>= 1.1)
       httpi (>= 0.9)
-      rash (>= 0.4)
+      snake_case_hash (>= 1.0.2)
     asset_sync (1.0.0)
       activemodel
       fog (>= 1.8.0)
-    aws-sdk (1.60.1)
-      aws-sdk-v1 (= 1.60.1)
-    aws-sdk-v1 (1.60.1)
-      json (~> 1.4)
-      nokogiri (>= 1.4.4)
-    bcrypt (3.1.9)
-    better_errors (2.0.0)
+    ast (2.3.0)
+    aws-sdk (2.9.7)
+      aws-sdk-resources (= 2.9.7)
+    aws-sdk-core (2.9.7)
+      aws-sigv4 (~> 1.0)
+      jmespath (~> 1.0)
+    aws-sdk-resources (2.9.7)
+      aws-sdk-core (= 2.9.7)
+    aws-sigv4 (1.0.0)
+    bcrypt (3.1.11)
+    better_errors (2.1.1)
       coderay (>= 1.0.0)
       erubis (>= 2.6.6)
       rack (>= 0.9.0)
@@ -64,203 +70,273 @@ GEM
       debug_inspector (>= 0.0.1)
     bootstrap-sass (2.3.2.2)
       sass (~> 3.2)
-    browser_sniffer (1.0.7)
+    browser_sniffer (1.0.12)
     buftok (0.2.0)
-    builder (3.2.2)
-    bullet (4.14.0)
+    builder (3.2.3)
+    bullet (5.5.1)
       activesupport (>= 3.0.0)
-      uniform_notifier (>= 1.6.0)
-    byebug (3.5.1)
-      columnize (~> 0.8)
-      debugger-linecache (~> 1.2)
-      slop (~> 3.6)
-    capistrano (3.3.5)
-      capistrano-stats (~> 1.1.0)
+      uniform_notifier (~> 1.10.0)
+    byebug (9.0.6)
+    capistrano (3.8.0)
+      airbrussh (>= 1.0.0)
       i18n
       rake (>= 10.0.0)
-      sshkit (~> 1.3)
-    capistrano-bundler (1.1.3)
+      sshkit (>= 1.9.0)
+    capistrano-bundler (1.2.0)
       capistrano (~> 3.1)
       sshkit (~> 1.2)
-    capistrano-rails (1.1.2)
+    capistrano-rails (1.2.3)
       capistrano (~> 3.1)
       capistrano-bundler (~> 1.1)
-    capistrano-rbenv (2.0.2)
+    capistrano-rbenv (2.1.1)
       capistrano (~> 3.1)
       sshkit (~> 1.3)
-    capistrano-stats (1.1.1)
-    capybara (2.4.4)
+    capybara (2.13.0)
+      addressable
       mime-types (>= 1.16)
       nokogiri (>= 1.3.3)
       rack (>= 1.0.0)
       rack-test (>= 0.5.4)
       xpath (~> 2.0)
-    chartkick (1.3.2)
+    chartkick (2.2.3)
     cliver (0.3.2)
-    codeclimate-test-reporter (0.4.5)
-      simplecov (>= 0.7.1, < 1.0.0)
-    coderay (1.1.0)
-    coffee-rails (4.1.0)
+    coderay (1.1.1)
+    coffee-rails (4.1.1)
       coffee-script (>= 2.2.0)
-      railties (>= 4.0.0, < 5.0)
-    coffee-script (2.3.0)
+      railties (>= 4.0.0, < 5.1.x)
+    coffee-script (2.4.1)
       coffee-script-source
       execjs
-    coffee-script-source (1.8.0)
-    colorize (0.7.5)
-    columnize (0.9.0)
+    coffee-script-source (1.12.2)
+    concurrent-ruby (1.0.5)
     confiture (0.1.4)
-    crack (0.4.2)
+    crack (0.4.3)
       safe_yaml (~> 1.0.0)
-    curb (0.8.6)
-    daemons (1.1.9)
-    dalli (2.7.2)
-    database_cleaner (1.3.0)
+    curb (0.9.3)
+    daemons (1.2.4)
+    dalli (2.7.6)
+    database_cleaner (1.5.3)
     debug_inspector (0.0.2)
-    debugger-linecache (1.2.0)
-    delayed_job (4.0.6)
-      activesupport (>= 3.0, < 5.0)
-    delayed_job_active_record (4.0.3)
-      activerecord (>= 3.0, < 5.0)
-      delayed_job (>= 3.0, < 4.1)
-    diff-lcs (1.2.5)
+    delayed_job (4.1.2)
+      activesupport (>= 3.0, < 5.1)
+    delayed_job_active_record (4.1.1)
+      activerecord (>= 3.0, < 5.1)
+      delayed_job (>= 3.0, < 5)
+    diff-lcs (1.3)
     docile (1.1.5)
-    dotenv (1.0.2)
-    dotenv-deployment (0.2.0)
-      dotenv (~> 1.0)
-    dotenv-rails (1.0.2)
-      dotenv (= 1.0.2)
+    domain_name (0.5.20170404)
+      unf (>= 0.0.5, < 1.0.0)
+    dotenv (2.2.0)
+    dotenv-deployment (0.0.2)
+    dotenv-rails (2.2.0)
+      dotenv (= 2.2.0)
+      railties (>= 3.2, < 5.1)
     easy_translate (0.5.0)
       json
       thread
       thread_safe
     ejs (1.1.1)
-    email_validator (1.5.0)
+    email_validator (1.6.0)
       activemodel
-    equalizer (0.0.9)
+    equalizer (0.0.11)
     erubis (2.7.0)
-    exception_notification (4.0.1)
-      actionmailer (>= 3.0.4)
-      activesupport (>= 3.0.4)
-    excon (0.42.1)
-    execjs (2.2.2)
-    exifr (1.2.0)
-    factory_girl (4.5.0)
+    exception_notification (4.2.1)
+      actionmailer (>= 4.0, < 6)
+      activesupport (>= 4.0, < 6)
+    excon (0.55.0)
+    execjs (2.7.0)
+    exifr (1.2.5)
+    factory_girl (4.8.0)
       activesupport (>= 3.0.0)
-    factory_girl_rails (4.5.0)
-      factory_girl (~> 4.5.0)
+    factory_girl_rails (4.8.0)
+      factory_girl (~> 4.8.0)
       railties (>= 3.0.0)
-    faraday (0.9.0)
+    faraday (0.11.0)
       multipart-post (>= 1.2, < 3)
-    ffaker (1.25.0)
+    ffaker (2.5.0)
     fission (0.5.0)
       CFPropertyList (~> 2.2)
-    fog (1.26.0)
+    fog (1.40.0)
+      fog-aliyun (>= 0.1.0)
       fog-atmos
+      fog-aws (>= 0.6.0)
       fog-brightbox (~> 0.4)
-      fog-core (~> 1.27, >= 1.27.1)
-      fog-ecloud
+      fog-cloudatcost (~> 0.1.0)
+      fog-core (~> 1.43)
+      fog-digitalocean (>= 0.3.0)
+      fog-dnsimple (~> 1.0)
+      fog-dynect (~> 0.0.2)
+      fog-ecloud (~> 0.1)
+      fog-google (<= 0.1.0)
       fog-json
+      fog-local
+      fog-openstack
+      fog-powerdns (>= 0.1.1)
       fog-profitbricks
+      fog-rackspace
       fog-radosgw (>= 0.0.2)
+      fog-riakcs
       fog-sakuracloud (>= 0.0.4)
+      fog-serverlove
       fog-softlayer
       fog-storm_on_demand
       fog-terremark
       fog-vmfusion
       fog-voxel
+      fog-vsphere (>= 0.4.0)
+      fog-xenserver
       fog-xml (~> 0.1.1)
       ipaddress (~> 0.5)
-      nokogiri (~> 1.5, >= 1.5.11)
+      json (>= 1.8, < 2.0)
+    fog-aliyun (0.1.0)
+      fog-core (~> 1.27)
+      fog-json (~> 1.0)
+      ipaddress (~> 0.8)
+      xml-simple (~> 1.1)
     fog-atmos (0.1.0)
       fog-core
       fog-xml
-    fog-brightbox (0.7.1)
+    fog-aws (1.3.0)
+      fog-core (~> 1.38)
+      fog-json (~> 1.0)
+      fog-xml (~> 0.1)
+      ipaddress (~> 0.8)
+    fog-brightbox (0.11.0)
       fog-core (~> 1.22)
       fog-json
       inflecto (~> 0.0.2)
-    fog-core (1.27.2)
+    fog-cloudatcost (0.1.2)
+      fog-core (~> 1.36)
+      fog-json (~> 1.0)
+      fog-xml (~> 0.1)
+      ipaddress (~> 0.8)
+    fog-core (1.43.0)
       builder
-      excon (~> 0.38)
+      excon (~> 0.49)
       formatador (~> 0.2)
-      mime-types
-      net-scp (~> 1.1)
-      net-ssh (>= 2.1.3)
-    fog-ecloud (0.0.2)
+    fog-digitalocean (0.3.0)
+      fog-core (~> 1.42)
+      fog-json (>= 1.0)
+      fog-xml (>= 0.1)
+      ipaddress (>= 0.5)
+    fog-dnsimple (1.0.0)
+      fog-core (~> 1.38)
+      fog-json (~> 1.0)
+    fog-dynect (0.0.3)
       fog-core
+      fog-json
       fog-xml
-    fog-json (1.0.0)
-      multi_json (~> 1.0)
-    fog-profitbricks (0.0.1)
+    fog-ecloud (0.3.0)
       fog-core
       fog-xml
-      nokogiri
-    fog-radosgw (0.0.3)
+    fog-google (0.1.0)
+      fog-core
+      fog-json
+      fog-xml
+    fog-json (1.0.2)
+      fog-core (~> 1.0)
+      multi_json (~> 1.10)
+    fog-local (0.3.1)
+      fog-core (~> 1.27)
+    fog-openstack (0.1.20)
+      fog-core (>= 1.40)
+      fog-json (>= 1.0)
+      ipaddress (>= 0.8)
+    fog-powerdns (0.1.1)
+      fog-core (~> 1.27)
+      fog-json (~> 1.0)
+      fog-xml (~> 0.1)
+    fog-profitbricks (3.0.0)
+      fog-core (~> 1.42)
+      fog-json (~> 1.0)
+    fog-rackspace (0.1.4)
+      fog-core (>= 1.35)
+      fog-json (>= 1.0)
+      fog-xml (>= 0.1)
+      ipaddress (>= 0.8)
+    fog-radosgw (0.0.5)
       fog-core (>= 1.21.0)
       fog-json
       fog-xml (>= 0.0.1)
-    fog-sakuracloud (0.1.1)
+    fog-riakcs (0.1.0)
       fog-core
       fog-json
-    fog-softlayer (0.3.26)
+      fog-xml
+    fog-sakuracloud (1.7.5)
       fog-core
       fog-json
-    fog-storm_on_demand (0.1.0)
+    fog-serverlove (0.1.2)
       fog-core
       fog-json
-    fog-terremark (0.0.3)
+    fog-softlayer (1.1.4)
+      fog-core
+      fog-json
+    fog-storm_on_demand (0.1.1)
+      fog-core
+      fog-json
+    fog-terremark (0.1.0)
       fog-core
       fog-xml
-    fog-vmfusion (0.0.1)
+    fog-vmfusion (0.1.0)
       fission
       fog-core
-    fog-voxel (0.0.2)
+    fog-voxel (0.1.0)
       fog-core
       fog-xml
-    fog-xml (0.1.1)
+    fog-vsphere (1.9.1)
+      fog-core
+      rbvmomi (~> 1.9)
+    fog-xenserver (0.3.0)
       fog-core
-      nokogiri (~> 1.5, >= 1.5.11)
-    foreman (0.76.0)
-      dotenv (~> 1.0.2)
+      fog-xml
+    fog-xml (0.1.3)
+      fog-core
+      nokogiri (>= 1.5.11, < 2.0.0)
+    foreman (0.84.0)
       thor (~> 0.19.1)
     formatador (0.2.5)
-    geoip (1.4.0)
-    gibbon (1.1.4)
-      httparty
-      multi_json (>= 1.3.4)
-    github-markdown (0.6.8)
-    globalid (0.3.0)
-      activesupport (>= 4.1.0)
-    groupdate (2.3.0)
+    geoip (1.6.3)
+    gibbon (3.0.1)
+      faraday (>= 0.9.1)
+      multi_json (>= 1.11.0)
+    github-markdown (0.6.9)
+    globalid (0.4.0)
+      activesupport (>= 4.2.0)
+    groupdate (3.2.0)
       activesupport (>= 3)
-    hashie (2.0.5)
-    highline (1.6.21)
-    hike (1.2.3)
-    http (0.6.3)
+    hashie (3.5.5)
+    highline (1.7.8)
+    http (2.2.1)
+      addressable (~> 2.3)
+      http-cookie (~> 1.0)
+      http-form_data (~> 1.0.1)
       http_parser.rb (~> 0.6.0)
+    http-cookie (1.0.3)
+      domain_name (~> 0.5)
+    http-form_data (1.0.1)
     http_parser.rb (0.6.0)
-    httparty (0.13.3)
-      json (~> 1.8)
-      multi_xml (>= 0.5.2)
-    httpi (2.3.0)
+    httpi (2.4.2)
       rack
-    i18n (0.7.0)
-    i18n-tasks (0.7.11)
-      activesupport
+      socksify
+    i18n (0.8.1)
+    i18n-tasks (0.9.13)
+      activesupport (>= 4.0.2)
+      ast (>= 2.1.0)
       easy_translate (>= 0.5.0)
       erubis
-      highline
+      highline (>= 1.7.3)
       i18n
-      slop (~> 3.5)
-      term-ansicolor
-      terminal-table
+      parser (>= 2.2.3.0)
+      rainbow (~> 2.2)
+      terminal-table (>= 1.5.1)
     inflecto (0.0.2)
-    ipaddress (0.8.0)
-    jbuilder (2.2.6)
-      activesupport (>= 3.0.0, < 5)
+    ipaddress (0.8.3)
+    jbuilder (2.6.3)
+      activesupport (>= 3.0.0, < 5.2)
       multi_json (~> 1.2)
-    jquery-rails (4.0.2)
-      rails-dom-testing (~> 1.0)
+    jmespath (1.3.1)
+    jquery-rails (4.3.1)
+      rails-dom-testing (>= 1, < 3)
       railties (>= 4.2.0)
       thor (>= 0.14, < 2.0)
     jquery-turbolinks (2.1.0)
@@ -268,184 +344,201 @@ GEM
       turbolinks
     jquery-ui-rails (4.0.5)
       railties (>= 3.1.0)
-    js-routes (0.9.9)
+    js-routes (1.3.3)
       railties (>= 3.2)
       sprockets-rails
-    json (1.8.1)
-    kaminari (0.16.1)
-      actionpack (>= 3.0.0)
-      activesupport (>= 3.0.0)
-    kgio (2.9.2)
-    lol_dba (1.6.4)
+    json (1.8.6)
+    kaminari (1.0.1)
+      activesupport (>= 4.1.0)
+      kaminari-actionview (= 1.0.1)
+      kaminari-activerecord (= 1.0.1)
+      kaminari-core (= 1.0.1)
+    kaminari-actionview (1.0.1)
+      actionview
+      kaminari-core (= 1.0.1)
+    kaminari-activerecord (1.0.1)
+      activerecord
+      kaminari-core (= 1.0.1)
+    kaminari-core (1.0.1)
+    kgio (2.11.0)
+    lol_dba (2.1.2)
       actionpack (>= 3.0)
       activerecord (>= 3.0)
       railties (>= 3.0)
-    loofah (2.0.1)
+    loofah (2.0.3)
       nokogiri (>= 1.5.9)
-    mail (2.6.3)
-      mime-types (>= 1.16, < 3)
+    mail (2.6.4)
+      mime-types (>= 1.16, < 4)
     memoizable (0.4.2)
       thread_safe (~> 0.3, >= 0.3.1)
     method_source (0.8.2)
-    mime-types (2.4.3)
-    mini_magick (4.0.1)
-    mini_portile (0.6.1)
-    minitest (5.5.0)
-    multi_json (1.10.1)
-    multi_xml (0.5.5)
+    mime-types (3.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2016.0521)
+    mini_magick (4.7.0)
+    mini_portile2 (2.1.0)
+    minitest (5.10.1)
+    multi_json (1.12.1)
     multipart-post (2.0.0)
-    naught (1.0.0)
+    naught (1.1.0)
     net-scp (1.2.1)
       net-ssh (>= 2.6.5)
-    net-ssh (2.9.1)
-    newrelic_rpm (3.9.8.273)
-    nokogiri (1.6.5)
-      mini_portile (~> 0.6.0)
-    pg (0.17.1)
-    phantomjs (1.9.7.1)
-    poltergeist (1.5.1)
+    net-ssh (4.1.0)
+    newrelic_rpm (4.1.0.333)
+    nokogiri (1.7.1)
+      mini_portile2 (~> 2.1.0)
+    parser (2.4.0.0)
+      ast (~> 2.2)
+    pg (0.20.0)
+    phantomjs (2.1.1.0)
+    poltergeist (1.14.0)
       capybara (~> 2.1)
       cliver (~> 0.3.1)
-      multi_json (~> 1.0)
       websocket-driver (>= 0.2.0)
-    pry (0.10.1)
+    pry (0.10.4)
       coderay (~> 1.1.0)
       method_source (~> 0.8.1)
       slop (~> 3.4)
-    pry-rails (0.3.2)
-      pry (>= 0.9.10)
-    puma (2.11.1)
-      rack (>= 1.1, < 2.0)
-    rack (1.6.0)
-    rack-attack (4.2.0)
+    pry-rails (0.3.6)
+      pry (>= 0.10.4)
+    public_suffix (2.0.5)
+    puma (3.8.2)
+    rack (1.6.5)
+    rack-attack (5.0.1)
       rack
-    rack-cors (0.2.9)
-    rack-test (0.6.2)
+    rack-cors (0.4.1)
+    rack-test (0.6.3)
       rack (>= 1.0)
-    rails (4.2.0)
-      actionmailer (= 4.2.0)
-      actionpack (= 4.2.0)
-      actionview (= 4.2.0)
-      activejob (= 4.2.0)
-      activemodel (= 4.2.0)
-      activerecord (= 4.2.0)
-      activesupport (= 4.2.0)
+    rails (4.2.8)
+      actionmailer (= 4.2.8)
+      actionpack (= 4.2.8)
+      actionview (= 4.2.8)
+      activejob (= 4.2.8)
+      activemodel (= 4.2.8)
+      activerecord (= 4.2.8)
+      activesupport (= 4.2.8)
       bundler (>= 1.3.0, < 2.0)
-      railties (= 4.2.0)
+      railties (= 4.2.8)
       sprockets-rails
     rails-deprecated_sanitizer (1.0.3)
       activesupport (>= 4.2.0.alpha)
-    rails-dom-testing (1.0.5)
+    rails-dom-testing (1.0.8)
       activesupport (>= 4.2.0.beta, < 5.0)
-      nokogiri (~> 1.6.0)
+      nokogiri (~> 1.6)
       rails-deprecated_sanitizer (>= 1.0.1)
-    rails-html-sanitizer (1.0.1)
+    rails-html-sanitizer (1.0.3)
       loofah (~> 2.0)
-    railties (4.2.0)
-      actionpack (= 4.2.0)
-      activesupport (= 4.2.0)
+    railties (4.2.8)
+      actionpack (= 4.2.8)
+      activesupport (= 4.2.8)
       rake (>= 0.8.7)
       thor (>= 0.18.1, < 2.0)
-    raindrops (0.13.0)
-    rake (10.4.2)
-    rash (0.4.0)
-      hashie (~> 2.0.0)
-    rdoc (4.2.0)
-      json (~> 1.4)
-    rspec-core (3.1.7)
-      rspec-support (~> 3.1.0)
-    rspec-expectations (3.1.2)
+    rainbow (2.2.1)
+    raindrops (0.18.0)
+    rake (12.0.0)
+    rbvmomi (1.11.0)
+      builder (~> 3.0)
+      json (>= 1.8)
+      nokogiri (~> 1.5)
+      trollop (~> 2.1)
+    rdoc (4.3.0)
+    rspec-core (3.5.4)
+      rspec-support (~> 3.5.0)
+    rspec-expectations (3.5.0)
+      diff-lcs (>= 1.2.0, < 2.0)
+      rspec-support (~> 3.5.0)
+    rspec-mocks (3.5.0)
       diff-lcs (>= 1.2.0, < 2.0)
-      rspec-support (~> 3.1.0)
-    rspec-mocks (3.1.3)
-      rspec-support (~> 3.1.0)
-    rspec-rails (3.1.0)
+      rspec-support (~> 3.5.0)
+    rspec-rails (3.5.2)
       actionpack (>= 3.0)
       activesupport (>= 3.0)
       railties (>= 3.0)
-      rspec-core (~> 3.1.0)
-      rspec-expectations (~> 3.1.0)
-      rspec-mocks (~> 3.1.0)
-      rspec-support (~> 3.1.0)
-    rspec-support (3.1.2)
+      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)
     safe_yaml (1.0.4)
-    sass (3.4.9)
-    sass-rails (5.0.0)
-      railties (>= 4.0.0, < 5.0)
+    sass (3.4.23)
+    sass-rails (5.0.6)
+      railties (>= 4.0.0, < 6)
       sass (~> 3.1)
       sprockets (>= 2.8, < 4.0)
       sprockets-rails (>= 2.0, < 4.0)
-      tilt (~> 1.1)
-    sdoc (0.4.1)
+      tilt (>= 1.1, < 3)
+    sdoc (0.4.2)
       json (~> 1.7, >= 1.7.7)
       rdoc (~> 4.0)
-    simple_oauth (0.3.0)
-    simplecov (0.9.1)
+    simple_oauth (0.3.1)
+    simplecov (0.14.1)
       docile (~> 1.1.0)
-      multi_json (~> 1.0)
-      simplecov-html (~> 0.8.0)
-    simplecov-html (0.8.0)
+      json (>= 1.8, < 3)
+      simplecov-html (~> 0.10.0)
+    simplecov-html (0.10.0)
     slop (3.6.0)
-    spank (0.0.1393558686)
-    spring (1.2.0)
-    sprockets (2.12.3)
-      hike (~> 1.2)
-      multi_json (~> 1.0)
-      rack (~> 1.0)
-      tilt (~> 1.1, != 1.3.0)
-    sprockets-rails (2.2.2)
-      actionpack (>= 3.0)
-      activesupport (>= 3.0)
-      sprockets (>= 2.8, < 4.0)
-    sqlite3 (1.3.10)
-    sshkit (1.6.1)
-      colorize (>= 0.7.0)
+    snake_case_hash (1.0.4)
+      hashie (~> 3.0)
+    socksify (1.7.1)
+    spank (1.0.1441140881)
+    spring (2.0.1)
+      activesupport (>= 4.2)
+    sprockets (3.7.1)
+      concurrent-ruby (~> 1.0)
+      rack (> 1, < 3)
+    sprockets-rails (3.2.0)
+      actionpack (>= 4.0)
+      activesupport (>= 4.0)
+      sprockets (>= 3.0.0)
+    sqlite3 (1.3.13)
+    sshkit (1.13.1)
       net-scp (>= 1.1.2)
       net-ssh (>= 2.8.0)
-    teaspoon (0.8.0)
-      railties (>= 3.2.5, < 5)
-    term-ansicolor (1.3.0)
-      tins (~> 1.0)
-    terminal-table (1.4.5)
-    thor (0.19.1)
-    thread (0.1.4)
-    thread_safe (0.3.4)
-    tilt (1.4.1)
-    tins (1.3.3)
-    turbolinks (2.5.3)
-      coffee-rails
-    twitter (5.13.0)
-      addressable (~> 2.3)
+    teaspoon (1.1.5)
+      railties (>= 3.2.5, < 6)
+    teaspoon-jasmine (2.3.4)
+      teaspoon (>= 1.0.0)
+    terminal-table (1.7.3)
+      unicode-display_width (~> 1.1.1)
+    thor (0.19.4)
+    thread (0.2.2)
+    thread_safe (0.3.6)
+    tilt (2.0.7)
+    trollop (2.1.2)
+    turbolinks (5.0.1)
+      turbolinks-source (~> 5)
+    turbolinks-source (5.0.0)
+    twitter (6.1.0)
+      addressable (~> 2.5)
       buftok (~> 0.2.0)
-      equalizer (~> 0.0.9)
-      faraday (~> 0.9.0)
-      http (~> 0.6.0)
+      equalizer (= 0.0.11)
+      faraday (~> 0.11.0)
+      http (~> 2.1)
       http_parser.rb (~> 0.6.0)
-      json (~> 1.8)
-      memoizable (~> 0.4.0)
-      naught (~> 1.0)
-      simple_oauth (~> 0.3.0)
-    tzinfo (1.2.2)
+      memoizable (~> 0.4.2)
+      naught (~> 1.1)
+      simple_oauth (~> 0.3.1)
+    tzinfo (1.2.3)
       thread_safe (~> 0.1)
-    uglifier (2.6.0)
-      execjs (>= 0.3.0)
-      json (>= 1.8.0)
+    uglifier (3.2.0)
+      execjs (>= 0.3.0, < 3)
     unf (0.1.4)
       unf_ext
-    unf_ext (0.0.6)
-    unicorn (4.8.3)
+    unf_ext (0.0.7.3)
+    unicode-display_width (1.1.3)
+    unicorn (5.3.0)
       kgio (~> 2.6)
-      rack
       raindrops (~> 0.7)
-    uniform_notifier (1.6.2)
-    web-console (2.0.0)
-      activemodel (~> 4.0)
+    uniform_notifier (1.10.0)
+    web-console (2.3.0)
+      activemodel (>= 4.0)
       binding_of_caller (>= 0.7.2)
-      railties (~> 4.0)
+      railties (>= 4.0)
       sprockets-rails (>= 2.0, < 4.0)
-    websocket-driver (0.5.1)
+    websocket-driver (0.6.5)
       websocket-extensions (>= 0.1.0)
-    websocket-extensions (0.1.1)
+    websocket-extensions (0.1.2)
+    xml-simple (1.1.5)
     xpath (2.0.0)
       nokogiri (~> 1.3)
 
@@ -468,7 +561,6 @@ DEPENDENCIES
   capistrano-rails
   capistrano-rbenv (~> 2.0)
   chartkick
-  codeclimate-test-reporter
   coffee-rails (~> 4.1.0)
   curb
   daemons
@@ -507,17 +599,21 @@ DEPENDENCIES
   puma
   rack-attack
   rack-cors
-  rails (= 4.2.0)
+  rails (= 4.2.8)
   rspec-rails
   sass-rails (~> 5.0)
   sdoc (~> 0.4.0)
+  simplecov
   spank
   spring
   sqlite3
-  teaspoon
+  teaspoon-jasmine
   turbolinks
   twitter
   uglifier (>= 1.3.0)
   unf
   unicorn
   web-console (~> 2.0)
+
+BUNDLED WITH
+   1.14.6