devise_token_auth 0.1.28 → 0.1.29.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +61 -1
  3. data/app/controllers/devise_token_auth/{auth_controller.rb → omniauth_callbacks_controller.rb} +22 -33
  4. data/app/controllers/devise_token_auth/registrations_controller.rb +2 -0
  5. data/app/controllers/devise_token_auth/sessions_controller.rb +1 -1
  6. data/app/controllers/devise_token_auth/token_validations_controller.rb +23 -0
  7. data/app/models/devise_token_auth/concerns/user.rb +1 -3
  8. data/config/initializers/devise.rb +0 -9
  9. data/config/routes.rb +12 -1
  10. data/lib/devise_token_auth/engine.rb +8 -0
  11. data/lib/devise_token_auth/rails/routes.rb +30 -9
  12. data/lib/devise_token_auth/version.rb +1 -1
  13. data/lib/generators/devise_token_auth/templates/devise_token_auth_create_users.rb.erb +0 -2
  14. data/test/controllers/devise_token_auth/{auth_controller_test.rb → omniauth_callbacks_controller_test.rb} +4 -4
  15. data/test/controllers/devise_token_auth/registrations_controller_test.rb +6 -0
  16. data/test/controllers/overrides/confirmations_controller_test.rb +44 -0
  17. data/test/controllers/overrides/omniauth_callbacks_controller_test.rb +44 -0
  18. data/test/controllers/overrides/passwords_controller_test.rb +62 -0
  19. data/test/controllers/overrides/registrations_controller_test.rb +40 -0
  20. data/test/controllers/overrides/sessions_controller_test.rb +33 -0
  21. data/test/controllers/overrides/token_validations_controller_test.rb +38 -0
  22. data/test/dummy/app/controllers/overrides/confirmations_controller.rb +32 -0
  23. data/test/dummy/app/controllers/overrides/omniauth_callbacks_controller.rb +14 -0
  24. data/test/dummy/app/controllers/overrides/passwords_controller.rb +39 -0
  25. data/test/dummy/app/controllers/overrides/registrations_controller.rb +27 -0
  26. data/test/dummy/app/controllers/overrides/sessions_controller.rb +43 -0
  27. data/test/dummy/app/controllers/overrides/token_validations_controller.rb +23 -0
  28. data/test/dummy/{tmp/generators/app/models/mang.rb → app/models/evil_user.rb} +1 -1
  29. data/test/dummy/config/routes.rb +9 -0
  30. data/test/dummy/db/development.sqlite3 +0 -0
  31. data/test/dummy/{tmp/generators/db/migrate/20140924174608_devise_token_auth_create_mangs.rb → db/migrate/20140928231203_devise_token_auth_create_evil_users.rb} +10 -9
  32. data/test/dummy/db/schema.rb +33 -1
  33. data/test/dummy/db/test.sqlite3 +0 -0
  34. data/test/dummy/log/development.log +437 -0
  35. data/test/dummy/log/test.log +72703 -0
  36. data/test/dummy/tmp/generators/config/routes.rb +0 -5
  37. data/test/dummy/tmp/generators/db/migrate/{20140924174608_devise_token_auth_create_users.rb → 20140930001137_devise_token_auth_create_users.rb} +0 -2
  38. data/test/fixtures/evil_users.yml +29 -0
  39. data/test/fixtures/mangs.yml +0 -2
  40. data/test/fixtures/users.yml +0 -2
  41. metadata +40 -13
@@ -1,3 +1,3 @@
1
- class Mang < ActiveRecord::Base
1
+ class EvilUser < ActiveRecord::Base
2
2
  include DeviseTokenAuth::Concerns::User
3
3
  end
@@ -10,6 +10,15 @@ Rails.application.routes.draw do
10
10
  # need to be defined within a devise_scope as shown below
11
11
  mount_devise_token_auth_for "Mang", at: '/mangs'
12
12
 
13
+ mount_devise_token_auth_for 'EvilUser', at: '/evil_user_auth', controllers: {
14
+ confirmations: 'overrides/confirmations',
15
+ passwords: 'overrides/passwords',
16
+ omniauth_callbacks: 'overrides/omniauth_callbacks',
17
+ registrations: 'overrides/registrations',
18
+ sessions: 'overrides/sessions',
19
+ token_validations: 'overrides/token_validations'
20
+ }
21
+
13
22
  # this route will authorize visitors using the User class
14
23
  get 'demo/members_only', to: 'demo_user#members_only'
15
24
 
Binary file
@@ -1,6 +1,6 @@
1
- class DeviseTokenAuthCreateMangs < ActiveRecord::Migration
1
+ class DeviseTokenAuthCreateEvilUsers < ActiveRecord::Migration
2
2
  def change
3
- create_table(:mangs) do |t|
3
+ create_table(:evil_users) do |t|
4
4
  ## Database authenticatable
5
5
  t.string :email
6
6
  t.string :encrypted_password, :null => false, :default => ""
@@ -8,7 +8,6 @@ class DeviseTokenAuthCreateMangs < ActiveRecord::Migration
8
8
  ## Recoverable
9
9
  t.string :reset_password_token
10
10
  t.datetime :reset_password_sent_at
11
- t.string :reset_password_redirect_url
12
11
 
13
12
  ## Rememberable
14
13
  t.datetime :remember_created_at
@@ -24,7 +23,6 @@ class DeviseTokenAuthCreateMangs < ActiveRecord::Migration
24
23
  t.string :confirmation_token
25
24
  t.datetime :confirmed_at
26
25
  t.datetime :confirmation_sent_at
27
- t.string :confirm_success_url
28
26
  t.string :unconfirmed_email # Only if using reconfirmable
29
27
 
30
28
  ## Lockable
@@ -44,13 +42,16 @@ class DeviseTokenAuthCreateMangs < ActiveRecord::Migration
44
42
  ## Tokens
45
43
  t.text :tokens
46
44
 
45
+ ## etc.
46
+ t.string :favorite_color
47
+
47
48
  t.timestamps
48
49
  end
49
50
 
50
- add_index :mangs, :email
51
- add_index :mangs, :uid, :unique => true
52
- add_index :mangs, :reset_password_token, :unique => true
53
- # add_index :mangs, :confirmation_token, :unique => true
54
- # add_index :mangs, :unlock_token, :unique => true
51
+ add_index :evil_users, :email
52
+ add_index :evil_users, :uid, :unique => true
53
+ add_index :evil_users, :reset_password_token, :unique => true
54
+ # add_index :evil_users, :confirmation_token, :unique => true
55
+ # add_index :evil_users, :unlock_token, :unique => true
55
56
  end
56
57
  end
@@ -11,7 +11,37 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20140916224624) do
14
+ ActiveRecord::Schema.define(version: 20140928231203) do
15
+
16
+ create_table "evil_users", force: true do |t|
17
+ t.string "email"
18
+ t.string "encrypted_password", default: "", null: false
19
+ t.string "reset_password_token"
20
+ t.datetime "reset_password_sent_at"
21
+ t.datetime "remember_created_at"
22
+ t.integer "sign_in_count", default: 0, null: false
23
+ t.datetime "current_sign_in_at"
24
+ t.datetime "last_sign_in_at"
25
+ t.string "current_sign_in_ip"
26
+ t.string "last_sign_in_ip"
27
+ t.string "confirmation_token"
28
+ t.datetime "confirmed_at"
29
+ t.datetime "confirmation_sent_at"
30
+ t.string "unconfirmed_email"
31
+ t.string "name"
32
+ t.string "nickname"
33
+ t.string "image"
34
+ t.string "provider"
35
+ t.string "uid", default: "", null: false
36
+ t.text "tokens"
37
+ t.string "favorite_color"
38
+ t.datetime "created_at"
39
+ t.datetime "updated_at"
40
+ end
41
+
42
+ add_index "evil_users", ["email"], name: "index_evil_users_on_email"
43
+ add_index "evil_users", ["reset_password_token"], name: "index_evil_users_on_reset_password_token", unique: true
44
+ add_index "evil_users", ["uid"], name: "index_evil_users_on_uid", unique: true
15
45
 
16
46
  create_table "mangs", force: true do |t|
17
47
  t.string "email"
@@ -70,6 +100,8 @@ ActiveRecord::Schema.define(version: 20140916224624) do
70
100
  t.text "tokens"
71
101
  t.datetime "created_at"
72
102
  t.datetime "updated_at"
103
+ t.integer "favorite_number"
104
+ t.string "favorite_taco"
73
105
  t.integer "operating_thetan"
74
106
  t.string "favorite_color"
75
107
  end
Binary file
@@ -25656,3 +25656,440 @@ Binary data inserted for `string` type on column `encrypted_password`
25656
25656
  SQL (0.2ms) UPDATE "mangs" SET "tokens" = ?, "updated_at" = ? WHERE "mangs"."id" = 15 [["tokens", "{\"NLKzrkZBzouIorzlKG1d4A\":{\"token\":\"$2a$10$CjR2xdEaqHxtcnAHwjsZRe6NXBMmiKuTNPmPYKspjhDOt0U9FAzm.\",\"expiry\":1412632924,\"last_token\":\"$2a$10$rvOjrWBN8y1jHpWzALwjCOWHP6kRWUDpGMfjvtfih5.JDE1b7dZPK\",\"updated_at\":\"2014-09-22T17:02:04.336-05:00\"}}"], ["updated_at", "2014-09-22 22:02:04.337410"]]
25657
25657
   (0.5ms) commit transaction
25658
25658
  Completed 200 OK in 188ms (Views: 0.6ms | ActiveRecord: 2.9ms)
25659
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
25660
+ Migrating to DeviseTokenAuthCreateEvilUsers (20140928231203)
25661
+  (0.1ms) begin transaction
25662
+  (0.5ms) CREATE TABLE "evil_users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255), "encrypted_password" varchar(255) DEFAULT '' NOT NULL, "reset_password_token" varchar(255), "reset_password_sent_at" datetime, "remember_created_at" datetime, "sign_in_count" integer DEFAULT 0 NOT NULL, "current_sign_in_at" datetime, "last_sign_in_at" datetime, "current_sign_in_ip" varchar(255), "last_sign_in_ip" varchar(255), "confirmation_token" varchar(255), "confirmed_at" datetime, "confirmation_sent_at" datetime, "unconfirmed_email" varchar(255), "name" varchar(255), "nickname" varchar(255), "image" varchar(255), "provider" varchar(255), "uid" varchar(255) DEFAULT '' NOT NULL, "tokens" text, "created_at" datetime, "updated_at" datetime) 
25663
+  (0.0ms) select sqlite_version(*)
25664
+  (0.1ms) CREATE INDEX "index_evil_users_on_email" ON "evil_users" ("email")
25665
+  (0.1ms) SELECT sql
25666
+ FROM sqlite_master
25667
+ WHERE name='index_evil_users_on_email' AND type='index'
25668
+ UNION ALL
25669
+ SELECT sql
25670
+ FROM sqlite_temp_master
25671
+ WHERE name='index_evil_users_on_email' AND type='index'
25672
+
25673
+  (0.7ms) CREATE UNIQUE INDEX "index_evil_users_on_uid" ON "evil_users" ("uid")
25674
+  (0.1ms) SELECT sql
25675
+ FROM sqlite_master
25676
+ WHERE name='index_evil_users_on_uid' AND type='index'
25677
+ UNION ALL
25678
+ SELECT sql
25679
+ FROM sqlite_temp_master
25680
+ WHERE name='index_evil_users_on_uid' AND type='index'
25681
+
25682
+  (0.1ms)  SELECT sql
25683
+ FROM sqlite_master
25684
+ WHERE name='index_evil_users_on_email' AND type='index'
25685
+ UNION ALL
25686
+ SELECT sql
25687
+ FROM sqlite_temp_master
25688
+ WHERE name='index_evil_users_on_email' AND type='index'
25689
+ 
25690
+  (0.1ms) CREATE UNIQUE INDEX "index_evil_users_on_reset_password_token" ON "evil_users" ("reset_password_token")
25691
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140928231203"]]
25692
+  (0.8ms) commit transaction
25693
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
25694
+  (0.1ms) SELECT sql
25695
+ FROM sqlite_master
25696
+ WHERE name='index_evil_users_on_reset_password_token' AND type='index'
25697
+ UNION ALL
25698
+ SELECT sql
25699
+ FROM sqlite_temp_master
25700
+ WHERE name='index_evil_users_on_reset_password_token' AND type='index'
25701
+
25702
+  (0.1ms)  SELECT sql
25703
+ FROM sqlite_master
25704
+ WHERE name='index_evil_users_on_uid' AND type='index'
25705
+ UNION ALL
25706
+ SELECT sql
25707
+ FROM sqlite_temp_master
25708
+ WHERE name='index_evil_users_on_uid' AND type='index'
25709
+ 
25710
+  (0.1ms) SELECT sql
25711
+ FROM sqlite_master
25712
+ WHERE name='index_evil_users_on_email' AND type='index'
25713
+ UNION ALL
25714
+ SELECT sql
25715
+ FROM sqlite_temp_master
25716
+ WHERE name='index_evil_users_on_email' AND type='index'
25717
+
25718
+  (0.1ms)  SELECT sql
25719
+ FROM sqlite_master
25720
+ WHERE name='index_mangs_on_reset_password_token' AND type='index'
25721
+ UNION ALL
25722
+ SELECT sql
25723
+ FROM sqlite_temp_master
25724
+ WHERE name='index_mangs_on_reset_password_token' AND type='index'
25725
+ 
25726
+  (0.1ms) SELECT sql
25727
+ FROM sqlite_master
25728
+ WHERE name='index_mangs_on_uid' AND type='index'
25729
+ UNION ALL
25730
+ SELECT sql
25731
+ FROM sqlite_temp_master
25732
+ WHERE name='index_mangs_on_uid' AND type='index'
25733
+
25734
+  (0.1ms)  SELECT sql
25735
+ FROM sqlite_master
25736
+ WHERE name='index_mangs_on_email' AND type='index'
25737
+ UNION ALL
25738
+ SELECT sql
25739
+ FROM sqlite_temp_master
25740
+ WHERE name='index_mangs_on_email' AND type='index'
25741
+ 
25742
+  (0.1ms) SELECT sql
25743
+ FROM sqlite_master
25744
+ WHERE name='index_users_on_reset_password_token' AND type='index'
25745
+ UNION ALL
25746
+ SELECT sql
25747
+ FROM sqlite_temp_master
25748
+ WHERE name='index_users_on_reset_password_token' AND type='index'
25749
+
25750
+  (0.1ms)  SELECT sql
25751
+ FROM sqlite_master
25752
+ WHERE name='index_users_on_uid' AND type='index'
25753
+ UNION ALL
25754
+ SELECT sql
25755
+ FROM sqlite_temp_master
25756
+ WHERE name='index_users_on_uid' AND type='index'
25757
+ 
25758
+  (0.1ms) SELECT sql
25759
+ FROM sqlite_master
25760
+ WHERE name='index_users_on_email' AND type='index'
25761
+ UNION ALL
25762
+ SELECT sql
25763
+ FROM sqlite_temp_master
25764
+ WHERE name='index_users_on_email' AND type='index'
25765
+
25766
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
25767
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
25768
+ Migrating to DeviseTokenAuthCreateEvilUsers (20140928231203)
25769
+  (0.1ms) begin transaction
25770
+  (0.1ms) SELECT sql
25771
+ FROM sqlite_master
25772
+ WHERE name='index_evil_users_on_reset_password_token' AND type='index'
25773
+ UNION ALL
25774
+ SELECT sql
25775
+ FROM sqlite_temp_master
25776
+ WHERE name='index_evil_users_on_reset_password_token' AND type='index'
25777
+
25778
+  (0.1ms)  SELECT sql
25779
+ FROM sqlite_master
25780
+ WHERE name='index_evil_users_on_uid' AND type='index'
25781
+ UNION ALL
25782
+ SELECT sql
25783
+ FROM sqlite_temp_master
25784
+ WHERE name='index_evil_users_on_uid' AND type='index'
25785
+ 
25786
+  (0.1ms) SELECT sql
25787
+ FROM sqlite_master
25788
+ WHERE name='index_evil_users_on_email' AND type='index'
25789
+ UNION ALL
25790
+ SELECT sql
25791
+ FROM sqlite_temp_master
25792
+ WHERE name='index_evil_users_on_email' AND type='index'
25793
+
25794
+  (0.4ms) DROP INDEX "index_evil_users_on_reset_password_token"
25795
+  (0.1ms) SELECT sql
25796
+ FROM sqlite_master
25797
+ WHERE name='index_evil_users_on_uid' AND type='index'
25798
+ UNION ALL
25799
+ SELECT sql
25800
+ FROM sqlite_temp_master
25801
+ WHERE name='index_evil_users_on_uid' AND type='index'
25802
+
25803
+  (0.1ms)  SELECT sql
25804
+ FROM sqlite_master
25805
+ WHERE name='index_evil_users_on_email' AND type='index'
25806
+ UNION ALL
25807
+ SELECT sql
25808
+ FROM sqlite_temp_master
25809
+ WHERE name='index_evil_users_on_email' AND type='index'
25810
+ 
25811
+  (1.1ms) DROP INDEX "index_evil_users_on_uid"
25812
+  (0.1ms)  SELECT sql
25813
+ FROM sqlite_master
25814
+ WHERE name='index_evil_users_on_email' AND type='index'
25815
+ UNION ALL
25816
+ SELECT sql
25817
+ FROM sqlite_temp_master
25818
+ WHERE name='index_evil_users_on_email' AND type='index'
25819
+ 
25820
+  (0.2ms) DROP INDEX "index_evil_users_on_email"
25821
+  (0.2ms) DROP TABLE "evil_users"
25822
+ SQL (0.1ms) DELETE FROM "schema_migrations" WHERE "schema_migrations"."version" = '20140928231203'
25823
+  (0.7ms) commit transaction
25824
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
25825
+  (0.1ms)  SELECT sql
25826
+ FROM sqlite_master
25827
+ WHERE name='index_mangs_on_reset_password_token' AND type='index'
25828
+ UNION ALL
25829
+ SELECT sql
25830
+ FROM sqlite_temp_master
25831
+ WHERE name='index_mangs_on_reset_password_token' AND type='index'
25832
+ 
25833
+  (0.1ms) SELECT sql
25834
+ FROM sqlite_master
25835
+ WHERE name='index_mangs_on_uid' AND type='index'
25836
+ UNION ALL
25837
+ SELECT sql
25838
+ FROM sqlite_temp_master
25839
+ WHERE name='index_mangs_on_uid' AND type='index'
25840
+
25841
+  (0.1ms)  SELECT sql
25842
+ FROM sqlite_master
25843
+ WHERE name='index_mangs_on_email' AND type='index'
25844
+ UNION ALL
25845
+ SELECT sql
25846
+ FROM sqlite_temp_master
25847
+ WHERE name='index_mangs_on_email' AND type='index'
25848
+ 
25849
+  (0.1ms) SELECT sql
25850
+ FROM sqlite_master
25851
+ WHERE name='index_users_on_reset_password_token' AND type='index'
25852
+ UNION ALL
25853
+ SELECT sql
25854
+ FROM sqlite_temp_master
25855
+ WHERE name='index_users_on_reset_password_token' AND type='index'
25856
+
25857
+  (0.1ms)  SELECT sql
25858
+ FROM sqlite_master
25859
+ WHERE name='index_users_on_uid' AND type='index'
25860
+ UNION ALL
25861
+ SELECT sql
25862
+ FROM sqlite_temp_master
25863
+ WHERE name='index_users_on_uid' AND type='index'
25864
+ 
25865
+  (0.1ms) SELECT sql
25866
+ FROM sqlite_master
25867
+ WHERE name='index_users_on_email' AND type='index'
25868
+ UNION ALL
25869
+ SELECT sql
25870
+ FROM sqlite_temp_master
25871
+ WHERE name='index_users_on_email' AND type='index'
25872
+
25873
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
25874
+ Migrating to DeviseTokenAuthCreateEvilUsers (20140928231203)
25875
+  (0.0ms) begin transaction
25876
+  (0.5ms) CREATE TABLE "evil_users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255), "encrypted_password" varchar(255) DEFAULT '' NOT NULL, "reset_password_token" varchar(255), "reset_password_sent_at" datetime, "remember_created_at" datetime, "sign_in_count" integer DEFAULT 0 NOT NULL, "current_sign_in_at" datetime, "last_sign_in_at" datetime, "current_sign_in_ip" varchar(255), "last_sign_in_ip" varchar(255), "confirmation_token" varchar(255), "confirmed_at" datetime, "confirmation_sent_at" datetime, "unconfirmed_email" varchar(255), "name" varchar(255), "nickname" varchar(255), "image" varchar(255), "provider" varchar(255), "uid" varchar(255) DEFAULT '' NOT NULL, "tokens" text, "favorite_color" varchar(255), "created_at" datetime, "updated_at" datetime) 
25877
+  (0.0ms) select sqlite_version(*)
25878
+  (0.1ms) CREATE INDEX "index_evil_users_on_email" ON "evil_users" ("email")
25879
+  (0.1ms) SELECT sql
25880
+ FROM sqlite_master
25881
+ WHERE name='index_evil_users_on_email' AND type='index'
25882
+ UNION ALL
25883
+ SELECT sql
25884
+ FROM sqlite_temp_master
25885
+ WHERE name='index_evil_users_on_email' AND type='index'
25886
+
25887
+  (0.8ms) CREATE UNIQUE INDEX "index_evil_users_on_uid" ON "evil_users" ("uid")
25888
+  (0.1ms) SELECT sql
25889
+ FROM sqlite_master
25890
+ WHERE name='index_evil_users_on_uid' AND type='index'
25891
+ UNION ALL
25892
+ SELECT sql
25893
+ FROM sqlite_temp_master
25894
+ WHERE name='index_evil_users_on_uid' AND type='index'
25895
+
25896
+  (0.1ms)  SELECT sql
25897
+ FROM sqlite_master
25898
+ WHERE name='index_evil_users_on_email' AND type='index'
25899
+ UNION ALL
25900
+ SELECT sql
25901
+ FROM sqlite_temp_master
25902
+ WHERE name='index_evil_users_on_email' AND type='index'
25903
+ 
25904
+  (0.1ms) CREATE UNIQUE INDEX "index_evil_users_on_reset_password_token" ON "evil_users" ("reset_password_token")
25905
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20140928231203"]]
25906
+  (2.0ms) commit transaction
25907
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
25908
+  (0.1ms) SELECT sql
25909
+ FROM sqlite_master
25910
+ WHERE name='index_evil_users_on_reset_password_token' AND type='index'
25911
+ UNION ALL
25912
+ SELECT sql
25913
+ FROM sqlite_temp_master
25914
+ WHERE name='index_evil_users_on_reset_password_token' AND type='index'
25915
+
25916
+  (0.1ms)  SELECT sql
25917
+ FROM sqlite_master
25918
+ WHERE name='index_evil_users_on_uid' AND type='index'
25919
+ UNION ALL
25920
+ SELECT sql
25921
+ FROM sqlite_temp_master
25922
+ WHERE name='index_evil_users_on_uid' AND type='index'
25923
+ 
25924
+  (0.1ms) SELECT sql
25925
+ FROM sqlite_master
25926
+ WHERE name='index_evil_users_on_email' AND type='index'
25927
+ UNION ALL
25928
+ SELECT sql
25929
+ FROM sqlite_temp_master
25930
+ WHERE name='index_evil_users_on_email' AND type='index'
25931
+
25932
+  (0.1ms)  SELECT sql
25933
+ FROM sqlite_master
25934
+ WHERE name='index_mangs_on_reset_password_token' AND type='index'
25935
+ UNION ALL
25936
+ SELECT sql
25937
+ FROM sqlite_temp_master
25938
+ WHERE name='index_mangs_on_reset_password_token' AND type='index'
25939
+ 
25940
+  (0.1ms) SELECT sql
25941
+ FROM sqlite_master
25942
+ WHERE name='index_mangs_on_uid' AND type='index'
25943
+ UNION ALL
25944
+ SELECT sql
25945
+ FROM sqlite_temp_master
25946
+ WHERE name='index_mangs_on_uid' AND type='index'
25947
+
25948
+  (0.1ms)  SELECT sql
25949
+ FROM sqlite_master
25950
+ WHERE name='index_mangs_on_email' AND type='index'
25951
+ UNION ALL
25952
+ SELECT sql
25953
+ FROM sqlite_temp_master
25954
+ WHERE name='index_mangs_on_email' AND type='index'
25955
+ 
25956
+  (0.1ms) SELECT sql
25957
+ FROM sqlite_master
25958
+ WHERE name='index_users_on_reset_password_token' AND type='index'
25959
+ UNION ALL
25960
+ SELECT sql
25961
+ FROM sqlite_temp_master
25962
+ WHERE name='index_users_on_reset_password_token' AND type='index'
25963
+
25964
+  (0.1ms)  SELECT sql
25965
+ FROM sqlite_master
25966
+ WHERE name='index_users_on_uid' AND type='index'
25967
+ UNION ALL
25968
+ SELECT sql
25969
+ FROM sqlite_temp_master
25970
+ WHERE name='index_users_on_uid' AND type='index'
25971
+ 
25972
+  (0.1ms) SELECT sql
25973
+ FROM sqlite_master
25974
+ WHERE name='index_users_on_email' AND type='index'
25975
+ UNION ALL
25976
+ SELECT sql
25977
+ FROM sqlite_temp_master
25978
+ WHERE name='index_users_on_email' AND type='index'
25979
+
25980
+
25981
+
25982
+ Started GET "/auth/github?auth_origin_url=http%3A%2F%2Fng-token-auth.dev%2F" for 127.0.0.1 at 2014-09-29 18:43:40 -0500
25983
+ ActiveRecord::SchemaMigration Load (0.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
25984
+
25985
+
25986
+ Started GET "/omniauth/github?auth_origin_url=http%3A%2F%2Fng-token-auth.dev%2F&resource_class=User" for 127.0.0.1 at 2014-09-29 18:43:40 -0500
25987
+
25988
+
25989
+ Started GET "/omniauth/github/callback?code=cb5cef8252d9610b220c&state=65c4742d5a53c73ae2c38582c8fb63270c550a0890bb2c02" for 127.0.0.1 at 2014-09-29 18:43:40 -0500
25990
+
25991
+
25992
+ Started GET "/auth/github/callback?auth_hash%5Bcredentials%5D%5Bexpires%5D=false&auth_hash%5Bcredentials%5D%5Btoken%5D=fe4c5155babfd60ffb760df6db241ee469dfc8ff&auth_hash%5Bextra%5D%5Braw_info%5D%5Bavatar_url%5D=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F468037%3Fv%3D2&auth_hash%5Bextra%5D%5Braw_info%5D%5Bbio%5D=&auth_hash%5Bextra%5D%5Braw_info%5D%5Bblog%5D=&auth_hash%5Bextra%5D%5Braw_info%5D%5Bcompany%5D=&auth_hash%5Bextra%5D%5Braw_info%5D%5Bcreated_at%5D=2010-11-04T21%3A43%3A29Z&auth_hash%5Bextra%5D%5Braw_info%5D%5Bemail%5D=lynn.dylan.hurley%2Bgithub%40gmail.com&auth_hash%5Bextra%5D%5Braw_info%5D%5Bevents_url%5D=https%3A%2F%2Fapi.github.com%2Fusers%2Flynndylanhurley%2Fevents%7B%2Fprivacy%7D&auth_hash%5Bextra%5D%5Braw_info%5D%5Bfollowers%5D=27&auth_hash%5Bextra%5D%5Braw_info%5D%5Bfollowers_url%5D=https%3A%2F%2Fapi.github.com%2Fusers%2Flynndylanhurley%2Ffollowers&auth_hash%5Bextra%5D%5Braw_info%5D%5Bfollowing%5D=1&auth_hash%5Bextra%5D%5Braw_info%5D%5Bfollowing_url%5D=https%3A%2F%2Fapi.github.com%2Fusers%2Flynndylanhurley%2Ffollowing%7B%2Fother_user%7D&auth_hash%5Bextra%5D%5Braw_info%5D%5Bgists_url%5D=https%3A%2F%2Fapi.github.com%2Fusers%2Flynndylanhurley%2Fgists%7B%2Fgist_id%7D&auth_hash%5Bextra%5D%5Braw_info%5D%5Bgravatar_id%5D=&auth_hash%5Bextra%5D%5Braw_info%5D%5Bhireable%5D=false&auth_hash%5Bextra%5D%5Braw_info%5D%5Bhtml_url%5D=https%3A%2F%2Fgithub.com%2Flynndylanhurley&auth_hash%5Bextra%5D%5Braw_info%5D%5Bid%5D=468037&auth_hash%5Bextra%5D%5Braw_info%5D%5Blocation%5D=&auth_hash%5Bextra%5D%5Braw_info%5D%5Blogin%5D=lynndylanhurley&auth_hash%5Bextra%5D%5Braw_info%5D%5Bname%5D=Lynn+Dylan+Hurley&auth_hash%5Bextra%5D%5Braw_info%5D%5Borganizations_url%5D=https%3A%2F%2Fapi.github.com%2Fusers%2Flynndylanhurley%2Forgs&auth_hash%5Bextra%5D%5Braw_info%5D%5Bpublic_gists%5D=210&auth_hash%5Bextra%5D%5Braw_info%5D%5Bpublic_repos%5D=14&auth_hash%5Bextra%5D%5Braw_info%5D%5Breceived_events_url%5D=https%3A%2F%2Fapi.github.com%2Fusers%2Flynndylanhurley%2Freceived_events&auth_hash%5Bextra%5D%5Braw_info%5D%5Brepos_url%5D=https%3A%2F%2Fapi.github.com%2Fusers%2Flynndylanhurley%2Frepos&auth_hash%5Bextra%5D%5Braw_info%5D%5Bsite_admin%5D=false&auth_hash%5Bextra%5D%5Braw_info%5D%5Bstarred_url%5D=https%3A%2F%2Fapi.github.com%2Fusers%2Flynndylanhurley%2Fstarred%7B%2Fowner%7D%7B%2Frepo%7D&auth_hash%5Bextra%5D%5Braw_info%5D%5Bsubscriptions_url%5D=https%3A%2F%2Fapi.github.com%2Fusers%2Flynndylanhurley%2Fsubscriptions&auth_hash%5Bextra%5D%5Braw_info%5D%5Btype%5D=User&auth_hash%5Bextra%5D%5Braw_info%5D%5Bupdated_at%5D=2014-09-29T23%3A41%3A46Z&auth_hash%5Bextra%5D%5Braw_info%5D%5Burl%5D=https%3A%2F%2Fapi.github.com%2Fusers%2Flynndylanhurley&auth_hash%5Binfo%5D%5Bemail%5D=lynn.dylan.hurley%2Bgithub%40gmail.com&auth_hash%5Binfo%5D%5Bimage%5D=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F468037%3Fv%3D2&auth_hash%5Binfo%5D%5Bname%5D=Lynn+Dylan+Hurley&auth_hash%5Binfo%5D%5Bnickname%5D=lynndylanhurley&auth_hash%5Binfo%5D%5Burls%5D%5BBlog%5D=&auth_hash%5Binfo%5D%5Burls%5D%5BGitHub%5D=https%3A%2F%2Fgithub.com%2Flynndylanhurley&auth_hash%5Bprovider%5D=github&auth_hash%5Buid%5D=468037&auth_params%5Bauth_origin_url%5D=http%3A%2F%2Fng-token-auth.dev%2F&auth_params%5Bresource_class%5D=User" for 127.0.0.1 at 2014-09-29 18:43:41 -0500
25993
+ Processing by DeviseTokenAuth::OmniauthCallbacksController#omniauth_success as HTML
25994
+ Parameters: {"auth_hash"=>{"credentials"=>{"expires"=>"false", "token"=>"fe4c5155babfd60ffb760df6db241ee469dfc8ff"}, "extra"=>{"raw_info"=>{"avatar_url"=>"https://avatars.githubusercontent.com/u/468037?v=2", "bio"=>"", "blog"=>"", "company"=>"", "created_at"=>"2010-11-04T21:43:29Z", "email"=>"lynn.dylan.hurley+github@gmail.com", "events_url"=>"https://api.github.com/users/lynndylanhurley/events{/privacy}", "followers"=>"27", "followers_url"=>"https://api.github.com/users/lynndylanhurley/followers", "following"=>"1", "following_url"=>"https://api.github.com/users/lynndylanhurley/following{/other_user}", "gists_url"=>"https://api.github.com/users/lynndylanhurley/gists{/gist_id}", "gravatar_id"=>"", "hireable"=>"false", "html_url"=>"https://github.com/lynndylanhurley", "id"=>"468037", "location"=>"", "login"=>"lynndylanhurley", "name"=>"Lynn Dylan Hurley", "organizations_url"=>"https://api.github.com/users/lynndylanhurley/orgs", "public_gists"=>"210", "public_repos"=>"14", "received_events_url"=>"https://api.github.com/users/lynndylanhurley/received_events", "repos_url"=>"https://api.github.com/users/lynndylanhurley/repos", "site_admin"=>"false", "starred_url"=>"https://api.github.com/users/lynndylanhurley/starred{/owner}{/repo}", "subscriptions_url"=>"https://api.github.com/users/lynndylanhurley/subscriptions", "type"=>"User", "updated_at"=>"2014-09-29T23:41:46Z", "url"=>"https://api.github.com/users/lynndylanhurley"}}, "info"=>{"email"=>"lynn.dylan.hurley+github@gmail.com", "image"=>"https://avatars.githubusercontent.com/u/468037?v=2", "name"=>"Lynn Dylan Hurley", "nickname"=>"lynndylanhurley", "urls"=>{"Blog"=>"", "GitHub"=>"https://github.com/lynndylanhurley"}}, "provider"=>"github", "uid"=>"468037"}, "auth_params"=>{"auth_origin_url"=>"http://ng-token-auth.dev/", "resource_class"=>"User"}, "provider"=>"github"}
25995
+ User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."uid" = '468037' AND "users"."provider" = 'github' ORDER BY "users"."id" ASC LIMIT 1
25996
+  (0.1ms) begin transaction
25997
+ Binary data inserted for `string` type on column `encrypted_password`
25998
+ SQL (3.0ms) INSERT INTO "users" ("confirmed_at", "created_at", "email", "encrypted_password", "image", "name", "nickname", "provider", "tokens", "uid", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [["confirmed_at", "2014-09-29 23:43:42.042187"], ["created_at", "2014-09-29 23:43:42.044573"], ["email", "lynn.dylan.hurley+github@gmail.com"], ["encrypted_password", "$2a$10$Tis00u.5PRTavsj8Og9QrefCBg.jQ4A9D0tii8EwmU/eY8YBfqRCm"], ["image", "https://avatars.githubusercontent.com/u/468037?v=2"], ["name", "Lynn Dylan Hurley"], ["nickname", "lynndylanhurley"], ["provider", "github"], ["tokens", "{\"Ng6Gdlw3aGF1Zx6vcZH4jQ\":{\"token\":\"$2a$10$G1OG1LK2bswOZM7ERlbd7uLoColhkDlLtv3OtDUoGm7iKnYFc/2N2\",\"expiry\":1413243822}}"], ["uid", "468037"], ["updated_at", "2014-09-29 23:43:42.044573"]]
25999
+  (0.5ms) commit transaction
26000
+ Rendered /Users/lynn/Code/Auth/devise_token_auth/app/views/devise_token_auth/omniauth_success.html.erb within layouts/omniauth_response (1.5ms)
26001
+ Completed 200 OK in 155ms (Views: 7.3ms | ActiveRecord: 4.3ms)
26002
+
26003
+
26004
+ Started GET "/auth/validate_token" for 127.0.0.1 at 2014-09-29 18:43:46 -0500
26005
+ Processing by DeviseTokenAuth::TokenValidationsController#validate_token as HTML
26006
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."uid" = '468037' LIMIT 1
26007
+  (0.1ms) begin transaction
26008
+ SQL (0.4ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = 30 [["tokens", "{\"Ng6Gdlw3aGF1Zx6vcZH4jQ\":{\"token\":\"$2a$10$oQPvB64idyrUMqOCS227Gu.4bfKMoeNJAxq2TlEsvjjbGBhAdAb8u\",\"expiry\":1413243826,\"last_token\":\"$2a$10$G1OG1LK2bswOZM7ERlbd7uLoColhkDlLtv3OtDUoGm7iKnYFc/2N2\",\"updated_at\":\"2014-09-29T18:43:46.250-05:00\"}}"], ["updated_at", "2014-09-29 23:43:46.251139"]]
26009
+  (17.5ms) commit transaction
26010
+ Completed 200 OK in 144ms (Views: 0.3ms | ActiveRecord: 18.2ms)
26011
+
26012
+
26013
+ Started GET "/demo/members_only" for 127.0.0.1 at 2014-09-29 18:43:49 -0500
26014
+ Processing by DemoUserController#members_only as HTML
26015
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."uid" = '468037' LIMIT 1
26016
+  (0.1ms) begin transaction
26017
+ SQL (0.2ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = 30 [["tokens", "{\"Ng6Gdlw3aGF1Zx6vcZH4jQ\":{\"token\":\"$2a$10$oQPvB64idyrUMqOCS227Gu.4bfKMoeNJAxq2TlEsvjjbGBhAdAb8u\",\"expiry\":1413243826,\"last_token\":\"$2a$10$G1OG1LK2bswOZM7ERlbd7uLoColhkDlLtv3OtDUoGm7iKnYFc/2N2\",\"updated_at\":\"2014-09-29T18:43:50.005-05:00\"}}"], ["updated_at", "2014-09-29 23:43:50.006367"]]
26018
+  (0.5ms) commit transaction
26019
+ Completed 200 OK in 66ms (Views: 0.6ms | ActiveRecord: 0.9ms)
26020
+
26021
+
26022
+ Started GET "/demo/members_only" for 127.0.0.1 at 2014-09-29 18:43:52 -0500
26023
+ Processing by DemoUserController#members_only as HTML
26024
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."uid" = '468037' LIMIT 1
26025
+  (0.1ms) begin transaction
26026
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = 30 [["tokens", "{\"Ng6Gdlw3aGF1Zx6vcZH4jQ\":{\"token\":\"$2a$10$oQPvB64idyrUMqOCS227Gu.4bfKMoeNJAxq2TlEsvjjbGBhAdAb8u\",\"expiry\":1413243826,\"last_token\":\"$2a$10$G1OG1LK2bswOZM7ERlbd7uLoColhkDlLtv3OtDUoGm7iKnYFc/2N2\",\"updated_at\":\"2014-09-29T18:43:52.136-05:00\"}}"], ["updated_at", "2014-09-29 23:43:52.137261"]]
26027
+  (16.4ms) commit transaction
26028
+ Completed 200 OK in 79ms (Views: 0.5ms | ActiveRecord: 16.9ms)
26029
+
26030
+
26031
+ Started GET "/demo/members_only" for 127.0.0.1 at 2014-09-29 18:43:54 -0500
26032
+ Processing by DemoUserController#members_only as HTML
26033
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."uid" = '468037' LIMIT 1
26034
+  (0.1ms) begin transaction
26035
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = 30 [["tokens", "{\"Ng6Gdlw3aGF1Zx6vcZH4jQ\":{\"token\":\"$2a$10$oQPvB64idyrUMqOCS227Gu.4bfKMoeNJAxq2TlEsvjjbGBhAdAb8u\",\"expiry\":1413243826,\"last_token\":\"$2a$10$G1OG1LK2bswOZM7ERlbd7uLoColhkDlLtv3OtDUoGm7iKnYFc/2N2\",\"updated_at\":\"2014-09-29T18:43:54.291-05:00\"}}"], ["updated_at", "2014-09-29 23:43:54.292124"]]
26036
+  (1.7ms) commit transaction
26037
+ Completed 200 OK in 65ms (Views: 0.5ms | ActiveRecord: 2.2ms)
26038
+
26039
+
26040
+ Started PUT "/auth" for 127.0.0.1 at 2014-09-29 18:44:04 -0500
26041
+ Processing by DeviseTokenAuth::RegistrationsController#update as HTML
26042
+ Parameters: {"favorite_color"=>"blood", "registration"=>{"favorite_color"=>"blood"}}
26043
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."uid" = '468037' LIMIT 1
26044
+ Unpermitted parameters: registration
26045
+  (0.1ms) begin transaction
26046
+  (0.0ms) rollback transaction
26047
+ Completed 403 Forbidden in 67ms (Views: 0.2ms | ActiveRecord: 0.3ms)
26048
+
26049
+
26050
+ Started PUT "/auth" for 127.0.0.1 at 2014-09-29 18:44:10 -0500
26051
+ Processing by DeviseTokenAuth::RegistrationsController#update as HTML
26052
+ Parameters: {"favorite_color"=>"melon", "registration"=>{"favorite_color"=>"melon"}}
26053
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."uid" = '468037' LIMIT 1
26054
+ Unpermitted parameters: registration
26055
+  (0.1ms) begin transaction
26056
+ SQL (0.4ms) UPDATE "users" SET "favorite_color" = ?, "tokens" = ?, "updated_at" = ? WHERE "users"."id" = 30 [["favorite_color", "melon"], ["tokens", "{\"Ng6Gdlw3aGF1Zx6vcZH4jQ\":{\"token\":\"$2a$10$oQPvB64idyrUMqOCS227Gu.4bfKMoeNJAxq2TlEsvjjbGBhAdAb8u\",\"expiry\":1413243826,\"last_token\":\"$2a$10$G1OG1LK2bswOZM7ERlbd7uLoColhkDlLtv3OtDUoGm7iKnYFc/2N2\",\"updated_at\":\"2014-09-29T18:43:54.291-05:00\"}}"], ["updated_at", "2014-09-29 23:44:10.957045"]]
26057
+  (1.9ms) commit transaction
26058
+  (0.1ms) begin transaction
26059
+ SQL (0.2ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = 30 [["tokens", "{\"Ng6Gdlw3aGF1Zx6vcZH4jQ\":{\"token\":\"$2a$10$hJgO/Qm.jMFTNS40fmITkufMndw4UvrlHipqWX7bcwGngvn1aVkKC\",\"expiry\":1413243851,\"last_token\":\"$2a$10$oQPvB64idyrUMqOCS227Gu.4bfKMoeNJAxq2TlEsvjjbGBhAdAb8u\",\"updated_at\":\"2014-09-29T18:44:11.022-05:00\"}}"], ["updated_at", "2014-09-29 23:44:11.023025"]]
26060
+  (1.0ms) commit transaction
26061
+ Completed 200 OK in 134ms (Views: 0.3ms | ActiveRecord: 3.9ms)
26062
+
26063
+
26064
+ Started GET "/auth/validate_token" for 127.0.0.1 at 2014-09-29 18:44:17 -0500
26065
+ Processing by DeviseTokenAuth::TokenValidationsController#validate_token as HTML
26066
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."uid" = '468037' LIMIT 1
26067
+  (0.1ms) begin transaction
26068
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = 30 [["tokens", "{\"Ng6Gdlw3aGF1Zx6vcZH4jQ\":{\"token\":\"$2a$10$ze9qmh8pr9JB/iriMwhb..hMy1oqc4L/dgEGj0SnaHTlLPGrc8NZm\",\"expiry\":1413243857,\"last_token\":\"$2a$10$hJgO/Qm.jMFTNS40fmITkufMndw4UvrlHipqWX7bcwGngvn1aVkKC\",\"updated_at\":\"2014-09-29T18:44:17.153-05:00\"}}"], ["updated_at", "2014-09-29 23:44:17.154580"]]
26069
+  (1.8ms) commit transaction
26070
+ Completed 200 OK in 128ms (Views: 0.3ms | ActiveRecord: 2.3ms)
26071
+
26072
+
26073
+ Started GET "/demo/members_only_mang" for 127.0.0.1 at 2014-09-29 18:44:37 -0500
26074
+ Processing by DemoMangController#members_only as HTML
26075
+ Mang Load (2.2ms) SELECT "mangs".* FROM "mangs" WHERE "mangs"."uid" = '468037' LIMIT 1
26076
+ Filter chain halted as :authenticate_mang! rendered or redirected
26077
+ Completed 401 Unauthorized in 4ms (Views: 0.2ms | ActiveRecord: 2.6ms)
26078
+
26079
+
26080
+ Started GET "/demo/members_only" for 127.0.0.1 at 2014-09-29 18:44:39 -0500
26081
+ Processing by DemoUserController#members_only as HTML
26082
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."uid" = '468037' LIMIT 1
26083
+  (0.1ms) begin transaction
26084
+ SQL (0.2ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = 30 [["tokens", "{\"Ng6Gdlw3aGF1Zx6vcZH4jQ\":{\"token\":\"$2a$10$WeDHKbhjjG2ThHSw6IjI1ujiHx2/whpa7cVYy5MimcmSCKa4W3d6W\",\"expiry\":1413243879,\"last_token\":\"$2a$10$ze9qmh8pr9JB/iriMwhb..hMy1oqc4L/dgEGj0SnaHTlLPGrc8NZm\",\"updated_at\":\"2014-09-29T18:44:39.168-05:00\"}}"], ["updated_at", "2014-09-29 23:44:39.169177"]]
26085
+  (1.0ms) commit transaction
26086
+ Completed 200 OK in 124ms (Views: 0.6ms | ActiveRecord: 1.5ms)
26087
+
26088
+
26089
+ Started GET "/demo/members_only_group" for 127.0.0.1 at 2014-09-29 18:44:41 -0500
26090
+ Processing by DemoGroupController#members_only as HTML
26091
+ User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."uid" = '468037' LIMIT 1
26092
+  (0.1ms) begin transaction
26093
+ SQL (0.3ms) UPDATE "users" SET "tokens" = ?, "updated_at" = ? WHERE "users"."id" = 30 [["tokens", "{\"Ng6Gdlw3aGF1Zx6vcZH4jQ\":{\"token\":\"$2a$10$WeDHKbhjjG2ThHSw6IjI1ujiHx2/whpa7cVYy5MimcmSCKa4W3d6W\",\"expiry\":1413243879,\"last_token\":\"$2a$10$ze9qmh8pr9JB/iriMwhb..hMy1oqc4L/dgEGj0SnaHTlLPGrc8NZm\",\"updated_at\":\"2014-09-29T18:44:41.448-05:00\"}}"], ["updated_at", "2014-09-29 23:44:41.448822"]]
26094
+  (1.8ms) commit transaction
26095
+ Completed 200 OK in 66ms (Views: 0.6ms | ActiveRecord: 2.3ms)