devise-ios-rails 1.0.0

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 (108) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +114 -0
  3. data/Rakefile +3 -0
  4. data/app/controllers/devise_ios_rails/passwords_controller.rb +29 -0
  5. data/app/controllers/devise_ios_rails/registrations_controller.rb +19 -0
  6. data/app/serializers/errors_serializer.rb +16 -0
  7. data/app/services/devise_ios_rails/change_password_service.rb +26 -0
  8. data/lib/devise-ios-rails.rb +54 -0
  9. data/lib/devise-ios-rails/engine.rb +5 -0
  10. data/lib/devise-ios-rails/rails/routes.rb +19 -0
  11. data/lib/devise-ios-rails/version.rb +3 -0
  12. data/lib/tasks/devise-ios-rails_tasks.rake +4 -0
  13. data/spec/devise-ios-rails_test.rb +7 -0
  14. data/spec/dummy/Gemfile +75 -0
  15. data/spec/dummy/Gemfile.lock +537 -0
  16. data/spec/dummy/README.md +225 -0
  17. data/spec/dummy/Rakefile +6 -0
  18. data/spec/dummy/app/assets/javascripts/active_admin.js.coffee +1 -0
  19. data/spec/dummy/app/assets/javascripts/application.js.coffee +0 -0
  20. data/spec/dummy/app/assets/javascripts/secret_spaces.coffee +3 -0
  21. data/spec/dummy/app/assets/stylesheets/active_admin.css.scss +17 -0
  22. data/spec/dummy/app/assets/stylesheets/application.css.scss +0 -0
  23. data/spec/dummy/app/assets/stylesheets/scaffolds.css.scss +69 -0
  24. data/spec/dummy/app/assets/stylesheets/secret_spaces.css.scss +3 -0
  25. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  26. data/spec/dummy/app/controllers/secret_spaces_controller.rb +49 -0
  27. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  28. data/spec/dummy/app/helpers/secret_spaces_helper.rb +2 -0
  29. data/spec/dummy/app/models/secret_space.rb +3 -0
  30. data/spec/dummy/app/models/user.rb +5 -0
  31. data/spec/dummy/app/serializers/secret_space_serializer.rb +3 -0
  32. data/spec/dummy/app/serializers/user_serializer.rb +8 -0
  33. data/spec/dummy/app/serializers/v1/base_serializer.rb +5 -0
  34. data/spec/dummy/app/serializers/v1/user_serializer.rb +4 -0
  35. data/spec/dummy/app/views/secret_spaces/_form.html.haml +13 -0
  36. data/spec/dummy/app/views/secret_spaces/edit.html.haml +7 -0
  37. data/spec/dummy/app/views/secret_spaces/index.html.haml +19 -0
  38. data/spec/dummy/app/views/secret_spaces/new.html.haml +5 -0
  39. data/spec/dummy/app/views/secret_spaces/show.html.haml +9 -0
  40. data/spec/dummy/bin/bundle +3 -0
  41. data/spec/dummy/bin/bundler +16 -0
  42. data/spec/dummy/bin/rails +8 -0
  43. data/spec/dummy/bin/rake +8 -0
  44. data/spec/dummy/bin/rspec +20 -0
  45. data/spec/dummy/bin/spring +18 -0
  46. data/spec/dummy/config.ru +12 -0
  47. data/spec/dummy/config/application.rb +23 -0
  48. data/spec/dummy/config/boot.rb +8 -0
  49. data/spec/dummy/config/database.yml +20 -0
  50. data/spec/dummy/config/deploy.rb +48 -0
  51. data/spec/dummy/config/deploy/production.rb +5 -0
  52. data/spec/dummy/config/deploy/staging.rb +4 -0
  53. data/spec/dummy/config/environment.rb +5 -0
  54. data/spec/dummy/config/environments/development.rb +19 -0
  55. data/spec/dummy/config/environments/heroku.rb +26 -0
  56. data/spec/dummy/config/environments/production.rb +26 -0
  57. data/spec/dummy/config/environments/staging.rb +27 -0
  58. data/spec/dummy/config/environments/test.rb +14 -0
  59. data/spec/dummy/config/initializers/active_model_serializer.rb +5 -0
  60. data/spec/dummy/config/initializers/assets.rb +8 -0
  61. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  62. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -0
  63. data/spec/dummy/config/initializers/devise.rb +47 -0
  64. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  65. data/spec/dummy/config/initializers/inflections.rb +16 -0
  66. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  67. data/spec/dummy/config/initializers/session_store.rb +3 -0
  68. data/spec/dummy/config/initializers/simple_token_authentication.rb +25 -0
  69. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  70. data/spec/dummy/config/locales/devise.en.yml +60 -0
  71. data/spec/dummy/config/locales/en.yml +23 -0
  72. data/spec/dummy/config/routes.rb +10 -0
  73. data/spec/dummy/config/secrets.yml +17 -0
  74. data/spec/dummy/db/migrate/20141127081722_devise_create_users.rb +19 -0
  75. data/spec/dummy/db/migrate/20141127114158_add_authentication_token_to_users.rb +6 -0
  76. data/spec/dummy/db/migrate/20141201085308_add_unique_index_to_authentication_token_in_users.rb +6 -0
  77. data/spec/dummy/db/migrate/20141201111915_remove_username_from_users.rb +5 -0
  78. data/spec/dummy/db/migrate/20141208080520_create_secret_spaces.rb +9 -0
  79. data/spec/dummy/db/migrate/20141215153026_create_active_admin_comments.rb +19 -0
  80. data/spec/dummy/db/saaskit_development.sqlite3 +0 -0
  81. data/spec/dummy/db/saaskit_test.sqlite3 +0 -0
  82. data/spec/dummy/db/schema.rb +51 -0
  83. data/spec/dummy/db/seeds.rb +1 -0
  84. data/spec/dummy/log/development.log +610 -0
  85. data/spec/dummy/log/test.log +10113 -0
  86. data/spec/dummy/spec/api/v1/authorized_users_spec.rb +141 -0
  87. data/spec/dummy/spec/api/v1/login_spec.rb +82 -0
  88. data/spec/dummy/spec/api/v1/request_password_reset_spec.rb +39 -0
  89. data/spec/dummy/spec/api/v1/unauthorized_users_spec.rb +69 -0
  90. data/spec/dummy/spec/factories/authentications.rb +48 -0
  91. data/spec/dummy/spec/factories/secret_spaces.rb +6 -0
  92. data/spec/dummy/spec/factories/users.rb +13 -0
  93. data/spec/dummy/spec/factories_spec.rb +21 -0
  94. data/spec/dummy/spec/rails_helper.rb +16 -0
  95. data/spec/dummy/spec/serializers/v1/user_serializer_spec.rb +12 -0
  96. data/spec/dummy/spec/services/devise_ios_rails/change_password_service_spec.rb +47 -0
  97. data/spec/dummy/spec/spec_helper.rb +24 -0
  98. data/spec/dummy/spec/support/devise.rb +3 -0
  99. data/spec/dummy/spec/support/factory_girl.rb +7 -0
  100. data/spec/dummy/spec/support/helpers/json.rb +3 -0
  101. data/spec/dummy/spec/support/shared_contexts/authenticated.rb +3 -0
  102. data/spec/dummy/spec/support/shared_contexts/json_format.rb +5 -0
  103. data/spec/dummy/spec/support/shared_examples/authorized.rb +18 -0
  104. data/spec/dummy/spec/support/shared_examples/requests.rb +65 -0
  105. data/spec/rails_helper.rb +52 -0
  106. data/spec/serializers/errors_serializer_spec.rb +11 -0
  107. data/spec/spec_helper.rb +85 -0
  108. metadata +336 -0
@@ -0,0 +1,4 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Configure sensitive parameters which will be filtered from the log file.
4
+ Rails.application.config.filter_parameters += [:password, :password_confirmation]
@@ -0,0 +1,16 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new inflection rules using the following format. Inflections
4
+ # are locale specific, and you may define rules for as many different
5
+ # locales as you wish. All of these examples are active by default:
6
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
7
+ # inflect.plural /^(ox)$/i, '\1en'
8
+ # inflect.singular /^(ox)en/i, '\1'
9
+ # inflect.irregular 'person', 'people'
10
+ # inflect.uncountable %w( fish sheep )
11
+ # end
12
+
13
+ # These inflection rules are supported but not enabled by default:
14
+ # ActiveSupport::Inflector.inflections(:en) do |inflect|
15
+ # inflect.acronym 'RESTful'
16
+ # end
@@ -0,0 +1,4 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new mime types for use in respond_to blocks:
4
+ # Mime::Type.register "text/richtext", :rtf
@@ -0,0 +1,3 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ Rails.application.config.session_store :cookie_store, key: '_devise_ios_rails_session'
@@ -0,0 +1,25 @@
1
+ SimpleTokenAuthentication.configure do |config|
2
+
3
+ config.sign_in_token = false
4
+
5
+ # Configure the name of the HTTP headers watched for authentication.
6
+ #
7
+ # Default header names for a given token authenticatable entity follow the pattern:
8
+ # { entity: { authentication_token: 'X-Entity-Token', email: 'X-Entity-Email'} }
9
+ #
10
+ # When several token authenticatable models are defined, custom header names
11
+ # can be specified for none, any, or all of them.
12
+ #
13
+ # Examples
14
+ #
15
+ # Given User and SuperAdmin are token authenticatable,
16
+ # When the following configuration is used:
17
+ # `config.header_names = { super_admin: { authentication_token: 'X-Admin-Auth-Token' } }`
18
+ # Then the token authentification handler for User watches the following headers:
19
+ # `X-User-Token, X-User-Email`
20
+ # And the token authentification handler for SuperAdmin watches the following headers:
21
+ # `X-Admin-Auth-Token, X-SuperAdmin-Email`
22
+ #
23
+ # config.header_names = { user: { authentication_token: 'X-User-Token', email: 'X-User-Email' } }
24
+
25
+ end
@@ -0,0 +1,14 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # This file contains settings for ActionController::ParamsWrapper which
4
+ # is enabled by default.
5
+
6
+ # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
7
+ ActiveSupport.on_load(:action_controller) do
8
+ wrap_parameters format: [:json] if respond_to?(:wrap_parameters)
9
+ end
10
+
11
+ # To enable root element in JSON for ActiveRecord objects.
12
+ # ActiveSupport.on_load(:active_record) do
13
+ # self.include_root_in_json = true
14
+ # end
@@ -0,0 +1,60 @@
1
+ # Additional translations at https://github.com/plataformatec/devise/wiki/I18n
2
+
3
+ en:
4
+ devise:
5
+ confirmations:
6
+ confirmed: "Your email address has been successfully confirmed."
7
+ send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes."
8
+ send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes."
9
+ failure:
10
+ already_authenticated: "You are already signed in."
11
+ inactive: "Your account is not activated yet."
12
+ invalid: "Invalid %{authentication_keys} or password."
13
+ locked: "Your account is locked."
14
+ last_attempt: "You have one more attempt before your account is locked."
15
+ not_found_in_database: "Invalid %{authentication_keys} or password."
16
+ timeout: "Your session expired. Please sign in again to continue."
17
+ unauthenticated: "You need to sign in or sign up before continuing."
18
+ unconfirmed: "You have to confirm your email address before continuing."
19
+ mailer:
20
+ confirmation_instructions:
21
+ subject: "Confirmation instructions"
22
+ reset_password_instructions:
23
+ subject: "Reset password instructions"
24
+ unlock_instructions:
25
+ subject: "Unlock instructions"
26
+ omniauth_callbacks:
27
+ failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
28
+ success: "Successfully authenticated from %{kind} account."
29
+ passwords:
30
+ no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided."
31
+ send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes."
32
+ send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes."
33
+ updated: "Your password has been changed successfully. You are now signed in."
34
+ updated_not_active: "Your password has been changed successfully."
35
+ registrations:
36
+ destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon."
37
+ signed_up: "Welcome! You have signed up successfully."
38
+ signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
39
+ signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
40
+ signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account."
41
+ update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address."
42
+ updated: "Your account has been updated successfully."
43
+ sessions:
44
+ signed_in: "Signed in successfully."
45
+ signed_out: "Signed out successfully."
46
+ already_signed_out: "Signed out successfully."
47
+ unlocks:
48
+ send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes."
49
+ send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes."
50
+ unlocked: "Your account has been unlocked successfully. Please sign in to continue."
51
+ errors:
52
+ messages:
53
+ already_confirmed: "was already confirmed, please try signing in"
54
+ confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
55
+ expired: "has expired, please request a new one"
56
+ not_found: "not found"
57
+ not_locked: "was not locked"
58
+ not_saved:
59
+ one: "1 error prohibited this %{resource} from being saved:"
60
+ other: "%{count} errors prohibited this %{resource} from being saved:"
@@ -0,0 +1,23 @@
1
+ # Files in the config/locales directory are used for internationalization
2
+ # and are automatically loaded by Rails. If you want to use locales other
3
+ # than English, add the necessary files in this directory.
4
+ #
5
+ # To use the locales, use `I18n.t`:
6
+ #
7
+ # I18n.t 'hello'
8
+ #
9
+ # In views, this is aliased to just `t`:
10
+ #
11
+ # <%= t('hello') %>
12
+ #
13
+ # To use a different locale, set it with `I18n.locale`:
14
+ #
15
+ # I18n.locale = :es
16
+ #
17
+ # This would use the information in config/locales/es.yml.
18
+ #
19
+ # To learn more, please read the Rails Internationalization guide
20
+ # available at http://guides.rubyonrails.org/i18n.html.
21
+
22
+ en:
23
+ hello: "Hello world"
@@ -0,0 +1,10 @@
1
+ Rails.application.routes.draw do
2
+ scope :v1 do
3
+ devise_ios_rails_for :users
4
+ resources :secret_spaces
5
+ end
6
+
7
+ if defined?(LetterOpenerWeb)
8
+ mount LetterOpenerWeb::Engine, at: "/letter_opener"
9
+ end
10
+ end
@@ -0,0 +1,17 @@
1
+ common: &common
2
+ secret_key_base: <%= ENV.fetch('SECRET_KEY_BASE') %>
3
+
4
+ development:
5
+ <<: *common
6
+
7
+ test:
8
+ <<: *common
9
+
10
+ staging:
11
+ <<: *common
12
+
13
+ heroku:
14
+ <<: *common
15
+
16
+ production:
17
+ <<: *common
@@ -0,0 +1,19 @@
1
+ class DeviseCreateUsers < ActiveRecord::Migration
2
+ def change
3
+ create_table(:users) do |t|
4
+ t.string :username, null: false, default: ""
5
+ t.string :email, null: false, default: ""
6
+ t.string :encrypted_password, null: false, default: ""
7
+
8
+ t.string :reset_password_token
9
+ t.datetime :reset_password_sent_at
10
+
11
+ t.datetime :remember_created_at
12
+
13
+ t.timestamps
14
+ end
15
+
16
+ add_index :users, :username, unique: true
17
+ add_index :users, :reset_password_token, unique: true
18
+ end
19
+ end
@@ -0,0 +1,6 @@
1
+ class AddAuthenticationTokenToUsers < ActiveRecord::Migration
2
+ def change
3
+ add_column :users, :authentication_token, :string
4
+ add_index :users, :authentication_token
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ class AddUniqueIndexToAuthenticationTokenInUsers < ActiveRecord::Migration
2
+ def change
3
+ remove_index :users, :authentication_token
4
+ add_index :users, :authentication_token, unique: true
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class RemoveUsernameFromUsers < ActiveRecord::Migration
2
+ def change
3
+ remove_column :users, :username, :string
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ class CreateSecretSpaces < ActiveRecord::Migration
2
+ def change
3
+ create_table :secret_spaces do |t|
4
+ t.string :text
5
+
6
+ t.timestamps null: false
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,19 @@
1
+ class CreateActiveAdminComments < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :active_admin_comments do |t|
4
+ t.string :namespace
5
+ t.text :body
6
+ t.string :resource_id, null: false
7
+ t.string :resource_type, null: false
8
+ t.references :author, polymorphic: true
9
+ t.timestamps
10
+ end
11
+ add_index :active_admin_comments, [:namespace]
12
+ add_index :active_admin_comments, [:author_type, :author_id]
13
+ add_index :active_admin_comments, [:resource_type, :resource_id]
14
+ end
15
+
16
+ def self.down
17
+ drop_table :active_admin_comments
18
+ end
19
+ end
@@ -0,0 +1,51 @@
1
+ # encoding: UTF-8
2
+ # This file is auto-generated from the current state of the database. Instead
3
+ # of editing this file, please use the migrations feature of Active Record to
4
+ # incrementally modify your database, and then regenerate this schema definition.
5
+ #
6
+ # Note that this schema.rb definition is the authoritative source for your
7
+ # database schema. If you need to create the application database on another
8
+ # system, you should be using db:schema:load, not running all the migrations
9
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
10
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
11
+ #
12
+ # It's strongly recommended that you check this file into your version control system.
13
+
14
+ ActiveRecord::Schema.define(version: 20141215153026) do
15
+
16
+ create_table "active_admin_comments", force: true do |t|
17
+ t.string "namespace"
18
+ t.text "body"
19
+ t.string "resource_id", null: false
20
+ t.string "resource_type", null: false
21
+ t.integer "author_id"
22
+ t.string "author_type"
23
+ t.datetime "created_at"
24
+ t.datetime "updated_at"
25
+ end
26
+
27
+ add_index "active_admin_comments", ["author_type", "author_id"], name: "index_active_admin_comments_on_author_type_and_author_id"
28
+ add_index "active_admin_comments", ["namespace"], name: "index_active_admin_comments_on_namespace"
29
+ add_index "active_admin_comments", ["resource_type", "resource_id"], name: "index_active_admin_comments_on_resource_type_and_resource_id"
30
+
31
+ create_table "secret_spaces", force: true do |t|
32
+ t.string "text"
33
+ t.datetime "created_at", null: false
34
+ t.datetime "updated_at", null: false
35
+ end
36
+
37
+ create_table "users", force: true do |t|
38
+ t.string "email", default: "", null: false
39
+ t.string "encrypted_password", default: "", null: false
40
+ t.string "reset_password_token"
41
+ t.datetime "reset_password_sent_at"
42
+ t.datetime "remember_created_at"
43
+ t.datetime "created_at"
44
+ t.datetime "updated_at"
45
+ t.string "authentication_token"
46
+ end
47
+
48
+ add_index "users", ["authentication_token"], name: "index_users_on_authentication_token", unique: true
49
+ add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
50
+
51
+ end
@@ -0,0 +1 @@
1
+ User.first_or_create(password: 'alcatraz', email: 'ios@example.com')
@@ -0,0 +1,610 @@
1
+  (1.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
2
+  (0.1ms) select sqlite_version(*)
3
+  (0.8ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
4
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
5
+ Migrating to DeviseCreateUsers (20141127081722)
6
+  (0.1ms) begin transaction
7
+  (0.4ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "username" varchar(255) DEFAULT '' NOT NULL, "email" varchar(255) DEFAULT '' NOT NULL, "encrypted_password" varchar(255) DEFAULT '' NOT NULL, "reset_password_token" varchar(255), "reset_password_sent_at" datetime, "remember_created_at" datetime, "created_at" datetime, "updated_at" datetime)
8
+  (0.4ms) CREATE UNIQUE INDEX "index_users_on_username" ON "users" ("username")
9
+  (0.1ms) SELECT sql
10
+ FROM sqlite_master
11
+ WHERE name='index_users_on_username' AND type='index'
12
+ UNION ALL
13
+ SELECT sql
14
+ FROM sqlite_temp_master
15
+ WHERE name='index_users_on_username' AND type='index'
16
+
17
+  (0.1ms) CREATE UNIQUE INDEX "index_users_on_reset_password_token" ON "users" ("reset_password_token")
18
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141127081722"]]
19
+  (0.9ms) commit transaction
20
+ Migrating to AddAuthenticationTokenToUsers (20141127114158)
21
+  (0.0ms) begin transaction
22
+  (0.3ms) ALTER TABLE "users" ADD "authentication_token" varchar(255)
23
+  (0.1ms) SELECT sql
24
+ FROM sqlite_master
25
+ WHERE name='index_users_on_reset_password_token' AND type='index'
26
+ UNION ALL
27
+ SELECT sql
28
+ FROM sqlite_temp_master
29
+ WHERE name='index_users_on_reset_password_token' AND type='index'
30
+
31
+  (0.0ms)  SELECT sql
32
+ FROM sqlite_master
33
+ WHERE name='index_users_on_username' AND type='index'
34
+ UNION ALL
35
+ SELECT sql
36
+ FROM sqlite_temp_master
37
+ WHERE name='index_users_on_username' AND type='index'
38
+ 
39
+  (0.1ms) CREATE INDEX "index_users_on_authentication_token" ON "users" ("authentication_token")
40
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141127114158"]]
41
+  (0.8ms) commit transaction
42
+ Migrating to AddUniqueIndexToAuthenticationTokenInUsers (20141201085308)
43
+  (0.0ms) begin transaction
44
+  (0.1ms) SELECT sql
45
+ FROM sqlite_master
46
+ WHERE name='index_users_on_authentication_token' AND type='index'
47
+ UNION ALL
48
+ SELECT sql
49
+ FROM sqlite_temp_master
50
+ WHERE name='index_users_on_authentication_token' AND type='index'
51
+
52
+  (0.0ms)  SELECT sql
53
+ FROM sqlite_master
54
+ WHERE name='index_users_on_reset_password_token' AND type='index'
55
+ UNION ALL
56
+ SELECT sql
57
+ FROM sqlite_temp_master
58
+ WHERE name='index_users_on_reset_password_token' AND type='index'
59
+ 
60
+  (0.0ms) SELECT sql
61
+ FROM sqlite_master
62
+ WHERE name='index_users_on_username' AND type='index'
63
+ UNION ALL
64
+ SELECT sql
65
+ FROM sqlite_temp_master
66
+ WHERE name='index_users_on_username' AND type='index'
67
+
68
+  (0.3ms) DROP INDEX "index_users_on_authentication_token"
69
+  (0.1ms) SELECT sql
70
+ FROM sqlite_master
71
+ WHERE name='index_users_on_reset_password_token' AND type='index'
72
+ UNION ALL
73
+ SELECT sql
74
+ FROM sqlite_temp_master
75
+ WHERE name='index_users_on_reset_password_token' AND type='index'
76
+
77
+  (0.0ms)  SELECT sql
78
+ FROM sqlite_master
79
+ WHERE name='index_users_on_username' AND type='index'
80
+ UNION ALL
81
+ SELECT sql
82
+ FROM sqlite_temp_master
83
+ WHERE name='index_users_on_username' AND type='index'
84
+ 
85
+  (0.3ms) CREATE UNIQUE INDEX "index_users_on_authentication_token" ON "users" ("authentication_token")
86
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141201085308"]]
87
+  (0.9ms) commit transaction
88
+ Migrating to RemoveUsernameFromUsers (20141201111915)
89
+  (0.0ms) begin transaction
90
+  (0.4ms) CREATE TEMPORARY TABLE "ausers" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "username" varchar(255) DEFAULT '' NOT NULL, "email" varchar(255) DEFAULT '' NOT NULL, "encrypted_password" varchar(255) DEFAULT '' NOT NULL, "reset_password_token" varchar(255), "reset_password_sent_at" datetime, "remember_created_at" datetime, "created_at" datetime, "updated_at" datetime, "authentication_token" varchar(255))
91
+  (0.1ms)  SELECT sql
92
+ FROM sqlite_master
93
+ WHERE name='index_users_on_authentication_token' AND type='index'
94
+ UNION ALL
95
+ SELECT sql
96
+ FROM sqlite_temp_master
97
+ WHERE name='index_users_on_authentication_token' AND type='index'
98
+ 
99
+  (0.0ms) SELECT sql
100
+ FROM sqlite_master
101
+ WHERE name='index_users_on_reset_password_token' AND type='index'
102
+ UNION ALL
103
+ SELECT sql
104
+ FROM sqlite_temp_master
105
+ WHERE name='index_users_on_reset_password_token' AND type='index'
106
+
107
+  (0.0ms)  SELECT sql
108
+ FROM sqlite_master
109
+ WHERE name='index_users_on_username' AND type='index'
110
+ UNION ALL
111
+ SELECT sql
112
+ FROM sqlite_temp_master
113
+ WHERE name='index_users_on_username' AND type='index'
114
+ 
115
+  (0.5ms) CREATE UNIQUE INDEX "tindex_ausers_on_authentication_token" ON "ausers" ("authentication_token")
116
+  (0.0ms)  SELECT sql
117
+ FROM sqlite_master
118
+ WHERE name='tindex_ausers_on_authentication_token' AND type='index'
119
+ UNION ALL
120
+ SELECT sql
121
+ FROM sqlite_temp_master
122
+ WHERE name='tindex_ausers_on_authentication_token' AND type='index'
123
+ 
124
+  (0.1ms) CREATE UNIQUE INDEX "tindex_ausers_on_reset_password_token" ON "ausers" ("reset_password_token")
125
+  (0.0ms)  SELECT sql
126
+ FROM sqlite_master
127
+ WHERE name='tindex_ausers_on_reset_password_token' AND type='index'
128
+ UNION ALL
129
+ SELECT sql
130
+ FROM sqlite_temp_master
131
+ WHERE name='tindex_ausers_on_reset_password_token' AND type='index'
132
+ 
133
+  (0.1ms) SELECT sql
134
+ FROM sqlite_master
135
+ WHERE name='tindex_ausers_on_authentication_token' AND type='index'
136
+ UNION ALL
137
+ SELECT sql
138
+ FROM sqlite_temp_master
139
+ WHERE name='tindex_ausers_on_authentication_token' AND type='index'
140
+
141
+  (0.1ms) CREATE UNIQUE INDEX "tindex_ausers_on_username" ON "ausers" ("username")
142
+  (0.1ms) SELECT * FROM "users"
143
+  (0.3ms) DROP TABLE "users"
144
+  (0.1ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255) DEFAULT '' NOT NULL, "encrypted_password" varchar(255) DEFAULT '' NOT NULL, "reset_password_token" varchar(255), "reset_password_sent_at" datetime, "remember_created_at" datetime, "created_at" datetime, "updated_at" datetime, "authentication_token" varchar(255))
145
+  (0.1ms)  SELECT sql
146
+ FROM sqlite_master
147
+ WHERE name='tindex_ausers_on_username' AND type='index'
148
+ UNION ALL
149
+ SELECT sql
150
+ FROM sqlite_temp_master
151
+ WHERE name='tindex_ausers_on_username' AND type='index'
152
+ 
153
+  (0.0ms) SELECT sql
154
+ FROM sqlite_master
155
+ WHERE name='tindex_ausers_on_reset_password_token' AND type='index'
156
+ UNION ALL
157
+ SELECT sql
158
+ FROM sqlite_temp_master
159
+ WHERE name='tindex_ausers_on_reset_password_token' AND type='index'
160
+
161
+  (0.0ms)  SELECT sql
162
+ FROM sqlite_master
163
+ WHERE name='tindex_ausers_on_authentication_token' AND type='index'
164
+ UNION ALL
165
+ SELECT sql
166
+ FROM sqlite_temp_master
167
+ WHERE name='tindex_ausers_on_authentication_token' AND type='index'
168
+ 
169
+  (0.3ms) CREATE UNIQUE INDEX "index_users_on_reset_password_token" ON "users" ("reset_password_token")
170
+  (0.1ms)  SELECT sql
171
+ FROM sqlite_master
172
+ WHERE name='index_users_on_reset_password_token' AND type='index'
173
+ UNION ALL
174
+ SELECT sql
175
+ FROM sqlite_temp_master
176
+ WHERE name='index_users_on_reset_password_token' AND type='index'
177
+ 
178
+  (0.1ms) CREATE UNIQUE INDEX "index_users_on_authentication_token" ON "users" ("authentication_token")
179
+  (0.0ms) SELECT * FROM "ausers"
180
+  (0.1ms) DROP TABLE "ausers"
181
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141201111915"]]
182
+  (1.2ms) commit transaction
183
+ Migrating to CreateSecretSpaces (20141208080520)
184
+  (0.0ms) begin transaction
185
+  (0.5ms) CREATE TABLE "secret_spaces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "text" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)
186
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141208080520"]]
187
+  (0.6ms) commit transaction
188
+ Migrating to CreateActiveAdminComments (20141215153026)
189
+  (0.1ms) begin transaction
190
+  (0.4ms) CREATE TABLE "active_admin_comments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "namespace" varchar(255), "body" text, "resource_id" varchar(255) NOT NULL, "resource_type" varchar(255) NOT NULL, "author_id" integer, "author_type" varchar(255), "created_at" datetime, "updated_at" datetime)
191
+  (0.2ms) CREATE INDEX "index_active_admin_comments_on_namespace" ON "active_admin_comments" ("namespace")
192
+  (0.1ms) SELECT sql
193
+ FROM sqlite_master
194
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
195
+ UNION ALL
196
+ SELECT sql
197
+ FROM sqlite_temp_master
198
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
199
+
200
+  (0.1ms) CREATE INDEX "index_active_admin_comments_on_author_type_and_author_id" ON "active_admin_comments" ("author_type", "author_id")
201
+  (0.1ms) SELECT sql
202
+ FROM sqlite_master
203
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
204
+ UNION ALL
205
+ SELECT sql
206
+ FROM sqlite_temp_master
207
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
208
+
209
+  (0.0ms)  SELECT sql
210
+ FROM sqlite_master
211
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
212
+ UNION ALL
213
+ SELECT sql
214
+ FROM sqlite_temp_master
215
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
216
+ 
217
+  (0.1ms) CREATE INDEX "index_active_admin_comments_on_resource_type_and_resource_id" ON "active_admin_comments" ("resource_type", "resource_id")
218
+ SQL (0.1ms) INSERT INTO "schema_migrations" ("version") VALUES (?) [["version", "20141215153026"]]
219
+  (0.7ms) commit transaction
220
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
221
+  (0.2ms) SELECT sql
222
+ FROM sqlite_master
223
+ WHERE name='index_active_admin_comments_on_resource_type_and_resource_id' AND type='index'
224
+ UNION ALL
225
+ SELECT sql
226
+ FROM sqlite_temp_master
227
+ WHERE name='index_active_admin_comments_on_resource_type_and_resource_id' AND type='index'
228
+
229
+  (0.1ms)  SELECT sql
230
+ FROM sqlite_master
231
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
232
+ UNION ALL
233
+ SELECT sql
234
+ FROM sqlite_temp_master
235
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
236
+ 
237
+  (0.4ms) SELECT sql
238
+ FROM sqlite_master
239
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
240
+ UNION ALL
241
+ SELECT sql
242
+ FROM sqlite_temp_master
243
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
244
+
245
+  (0.6ms)  SELECT sql
246
+ FROM sqlite_master
247
+ WHERE name='index_users_on_authentication_token' AND type='index'
248
+ UNION ALL
249
+ SELECT sql
250
+ FROM sqlite_temp_master
251
+ WHERE name='index_users_on_authentication_token' AND type='index'
252
+ 
253
+  (0.5ms) SELECT sql
254
+ FROM sqlite_master
255
+ WHERE name='index_users_on_reset_password_token' AND type='index'
256
+ UNION ALL
257
+ SELECT sql
258
+ FROM sqlite_temp_master
259
+ WHERE name='index_users_on_reset_password_token' AND type='index'
260
+
261
+  (1.3ms) CREATE TABLE "active_admin_comments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "namespace" varchar(255), "body" text, "resource_id" varchar(255) NOT NULL, "resource_type" varchar(255) NOT NULL, "author_id" integer, "author_type" varchar(255), "created_at" datetime, "updated_at" datetime) 
262
+  (0.1ms) select sqlite_version(*)
263
+  (0.9ms) CREATE INDEX "index_active_admin_comments_on_author_type_and_author_id" ON "active_admin_comments" ("author_type", "author_id")
264
+  (0.1ms) SELECT sql
265
+ FROM sqlite_master
266
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
267
+ UNION ALL
268
+ SELECT sql
269
+ FROM sqlite_temp_master
270
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
271
+
272
+  (0.9ms) CREATE INDEX "index_active_admin_comments_on_namespace" ON "active_admin_comments" ("namespace")
273
+  (0.1ms) SELECT sql
274
+ FROM sqlite_master
275
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
276
+ UNION ALL
277
+ SELECT sql
278
+ FROM sqlite_temp_master
279
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
280
+
281
+  (0.1ms)  SELECT sql
282
+ FROM sqlite_master
283
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
284
+ UNION ALL
285
+ SELECT sql
286
+ FROM sqlite_temp_master
287
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
288
+ 
289
+  (0.7ms) CREATE INDEX "index_active_admin_comments_on_resource_type_and_resource_id" ON "active_admin_comments" ("resource_type", "resource_id")
290
+  (0.8ms) CREATE TABLE "secret_spaces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "text" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) 
291
+  (0.8ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255) DEFAULT '' NOT NULL, "encrypted_password" varchar(255) DEFAULT '' NOT NULL, "reset_password_token" varchar(255), "reset_password_sent_at" datetime, "remember_created_at" datetime, "created_at" datetime, "updated_at" datetime, "authentication_token" varchar(255))
292
+  (1.9ms) CREATE UNIQUE INDEX "index_users_on_authentication_token" ON "users" ("authentication_token")
293
+  (0.2ms) SELECT sql
294
+ FROM sqlite_master
295
+ WHERE name='index_users_on_authentication_token' AND type='index'
296
+ UNION ALL
297
+ SELECT sql
298
+ FROM sqlite_temp_master
299
+ WHERE name='index_users_on_authentication_token' AND type='index'
300
+
301
+  (1.4ms) CREATE UNIQUE INDEX "index_users_on_reset_password_token" ON "users" ("reset_password_token")
302
+  (0.9ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
303
+  (0.8ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
304
+  (0.1ms) SELECT version FROM "schema_migrations"
305
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141215153026')
306
+  (0.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20141127081722')
307
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141127114158')
308
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141201085308')
309
+  (0.6ms) INSERT INTO "schema_migrations" (version) VALUES ('20141201111915')
310
+  (0.6ms) INSERT INTO "schema_migrations" (version) VALUES ('20141208080520')
311
+  (1.0ms) CREATE TABLE "active_admin_comments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "namespace" varchar(255), "body" text, "resource_id" varchar(255) NOT NULL, "resource_type" varchar(255) NOT NULL, "author_id" integer, "author_type" varchar(255), "created_at" datetime, "updated_at" datetime) 
312
+  (0.1ms) select sqlite_version(*)
313
+  (0.9ms) CREATE INDEX "index_active_admin_comments_on_author_type_and_author_id" ON "active_admin_comments" ("author_type", "author_id")
314
+  (0.1ms) SELECT sql
315
+ FROM sqlite_master
316
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
317
+ UNION ALL
318
+ SELECT sql
319
+ FROM sqlite_temp_master
320
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
321
+
322
+  (0.9ms) CREATE INDEX "index_active_admin_comments_on_namespace" ON "active_admin_comments" ("namespace")
323
+  (0.1ms) SELECT sql
324
+ FROM sqlite_master
325
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
326
+ UNION ALL
327
+ SELECT sql
328
+ FROM sqlite_temp_master
329
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
330
+
331
+  (0.1ms)  SELECT sql
332
+ FROM sqlite_master
333
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
334
+ UNION ALL
335
+ SELECT sql
336
+ FROM sqlite_temp_master
337
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
338
+ 
339
+  (1.0ms) CREATE INDEX "index_active_admin_comments_on_resource_type_and_resource_id" ON "active_admin_comments" ("resource_type", "resource_id")
340
+  (0.8ms) CREATE TABLE "secret_spaces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "text" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) 
341
+  (1.1ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255) DEFAULT '' NOT NULL, "encrypted_password" varchar(255) DEFAULT '' NOT NULL, "reset_password_token" varchar(255), "reset_password_sent_at" datetime, "remember_created_at" datetime, "created_at" datetime, "updated_at" datetime, "authentication_token" varchar(255))
342
+  (1.0ms) CREATE UNIQUE INDEX "index_users_on_authentication_token" ON "users" ("authentication_token")
343
+  (0.1ms) SELECT sql
344
+ FROM sqlite_master
345
+ WHERE name='index_users_on_authentication_token' AND type='index'
346
+ UNION ALL
347
+ SELECT sql
348
+ FROM sqlite_temp_master
349
+ WHERE name='index_users_on_authentication_token' AND type='index'
350
+
351
+  (0.8ms) CREATE UNIQUE INDEX "index_users_on_reset_password_token" ON "users" ("reset_password_token")
352
+  (0.8ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
353
+  (0.7ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
354
+  (0.1ms) SELECT version FROM "schema_migrations"
355
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20141215153026')
356
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141127081722')
357
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20141127114158')
358
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20141201085308')
359
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141201111915')
360
+  (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20141208080520')
361
+  (1.8ms) CREATE TABLE "active_admin_comments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "namespace" varchar(255), "body" text, "resource_id" varchar(255) NOT NULL, "resource_type" varchar(255) NOT NULL, "author_id" integer, "author_type" varchar(255), "created_at" datetime, "updated_at" datetime) 
362
+  (0.1ms) select sqlite_version(*)
363
+  (0.9ms) CREATE INDEX "index_active_admin_comments_on_author_type_and_author_id" ON "active_admin_comments" ("author_type", "author_id")
364
+  (0.1ms) SELECT sql
365
+ FROM sqlite_master
366
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
367
+ UNION ALL
368
+ SELECT sql
369
+ FROM sqlite_temp_master
370
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
371
+
372
+  (0.9ms) CREATE INDEX "index_active_admin_comments_on_namespace" ON "active_admin_comments" ("namespace")
373
+  (0.1ms) SELECT sql
374
+ FROM sqlite_master
375
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
376
+ UNION ALL
377
+ SELECT sql
378
+ FROM sqlite_temp_master
379
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
380
+
381
+  (0.1ms)  SELECT sql
382
+ FROM sqlite_master
383
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
384
+ UNION ALL
385
+ SELECT sql
386
+ FROM sqlite_temp_master
387
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
388
+ 
389
+  (0.8ms) CREATE INDEX "index_active_admin_comments_on_resource_type_and_resource_id" ON "active_admin_comments" ("resource_type", "resource_id")
390
+  (0.9ms) CREATE TABLE "secret_spaces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "text" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) 
391
+  (1.1ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255) DEFAULT '' NOT NULL, "encrypted_password" varchar(255) DEFAULT '' NOT NULL, "reset_password_token" varchar(255), "reset_password_sent_at" datetime, "remember_created_at" datetime, "created_at" datetime, "updated_at" datetime, "authentication_token" varchar(255))
392
+  (1.0ms) CREATE UNIQUE INDEX "index_users_on_authentication_token" ON "users" ("authentication_token")
393
+  (0.2ms) SELECT sql
394
+ FROM sqlite_master
395
+ WHERE name='index_users_on_authentication_token' AND type='index'
396
+ UNION ALL
397
+ SELECT sql
398
+ FROM sqlite_temp_master
399
+ WHERE name='index_users_on_authentication_token' AND type='index'
400
+
401
+  (1.3ms) CREATE UNIQUE INDEX "index_users_on_reset_password_token" ON "users" ("reset_password_token")
402
+  (0.9ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
403
+  (0.8ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
404
+  (0.1ms) SELECT version FROM "schema_migrations"
405
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20141215153026')
406
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141127081722')
407
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20141127114158')
408
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20141201085308')
409
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20141201111915')
410
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20141208080520')
411
+  (0.9ms) CREATE TABLE "active_admin_comments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "namespace" varchar(255), "body" text, "resource_id" varchar(255) NOT NULL, "resource_type" varchar(255) NOT NULL, "author_id" integer, "author_type" varchar(255), "created_at" datetime, "updated_at" datetime) 
412
+  (0.1ms) select sqlite_version(*)
413
+  (0.8ms) CREATE INDEX "index_active_admin_comments_on_author_type_and_author_id" ON "active_admin_comments" ("author_type", "author_id")
414
+  (0.1ms) SELECT sql
415
+ FROM sqlite_master
416
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
417
+ UNION ALL
418
+ SELECT sql
419
+ FROM sqlite_temp_master
420
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
421
+
422
+  (0.7ms) CREATE INDEX "index_active_admin_comments_on_namespace" ON "active_admin_comments" ("namespace")
423
+  (0.1ms) SELECT sql
424
+ FROM sqlite_master
425
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
426
+ UNION ALL
427
+ SELECT sql
428
+ FROM sqlite_temp_master
429
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
430
+
431
+  (0.1ms)  SELECT sql
432
+ FROM sqlite_master
433
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
434
+ UNION ALL
435
+ SELECT sql
436
+ FROM sqlite_temp_master
437
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
438
+ 
439
+  (0.9ms) CREATE INDEX "index_active_admin_comments_on_resource_type_and_resource_id" ON "active_admin_comments" ("resource_type", "resource_id")
440
+  (1.0ms) CREATE TABLE "secret_spaces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "text" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) 
441
+  (1.2ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255) DEFAULT '' NOT NULL, "encrypted_password" varchar(255) DEFAULT '' NOT NULL, "reset_password_token" varchar(255), "reset_password_sent_at" datetime, "remember_created_at" datetime, "created_at" datetime, "updated_at" datetime, "authentication_token" varchar(255))
442
+  (0.9ms) CREATE UNIQUE INDEX "index_users_on_authentication_token" ON "users" ("authentication_token")
443
+  (0.1ms) SELECT sql
444
+ FROM sqlite_master
445
+ WHERE name='index_users_on_authentication_token' AND type='index'
446
+ UNION ALL
447
+ SELECT sql
448
+ FROM sqlite_temp_master
449
+ WHERE name='index_users_on_authentication_token' AND type='index'
450
+
451
+  (0.7ms) CREATE UNIQUE INDEX "index_users_on_reset_password_token" ON "users" ("reset_password_token")
452
+  (1.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
453
+  (1.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
454
+  (0.1ms) SELECT version FROM "schema_migrations"
455
+  (1.5ms) INSERT INTO "schema_migrations" (version) VALUES ('20141215153026')
456
+  (2.3ms) INSERT INTO "schema_migrations" (version) VALUES ('20141127081722')
457
+  (2.1ms) INSERT INTO "schema_migrations" (version) VALUES ('20141127114158')
458
+  (2.2ms) INSERT INTO "schema_migrations" (version) VALUES ('20141201085308')
459
+  (2.2ms) INSERT INTO "schema_migrations" (version) VALUES ('20141201111915')
460
+  (2.3ms) INSERT INTO "schema_migrations" (version) VALUES ('20141208080520')
461
+  (1.7ms) CREATE TABLE "active_admin_comments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "namespace" varchar(255), "body" text, "resource_id" varchar(255) NOT NULL, "resource_type" varchar(255) NOT NULL, "author_id" integer, "author_type" varchar(255), "created_at" datetime, "updated_at" datetime) 
462
+  (0.1ms) select sqlite_version(*)
463
+  (0.9ms) CREATE INDEX "index_active_admin_comments_on_author_type_and_author_id" ON "active_admin_comments" ("author_type", "author_id")
464
+  (0.1ms) SELECT sql
465
+ FROM sqlite_master
466
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
467
+ UNION ALL
468
+ SELECT sql
469
+ FROM sqlite_temp_master
470
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
471
+
472
+  (0.8ms) CREATE INDEX "index_active_admin_comments_on_namespace" ON "active_admin_comments" ("namespace")
473
+  (0.1ms) SELECT sql
474
+ FROM sqlite_master
475
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
476
+ UNION ALL
477
+ SELECT sql
478
+ FROM sqlite_temp_master
479
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
480
+
481
+  (0.1ms)  SELECT sql
482
+ FROM sqlite_master
483
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
484
+ UNION ALL
485
+ SELECT sql
486
+ FROM sqlite_temp_master
487
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
488
+ 
489
+  (1.0ms) CREATE INDEX "index_active_admin_comments_on_resource_type_and_resource_id" ON "active_admin_comments" ("resource_type", "resource_id")
490
+  (0.9ms) CREATE TABLE "secret_spaces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "text" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) 
491
+  (0.8ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255) DEFAULT '' NOT NULL, "encrypted_password" varchar(255) DEFAULT '' NOT NULL, "reset_password_token" varchar(255), "reset_password_sent_at" datetime, "remember_created_at" datetime, "created_at" datetime, "updated_at" datetime, "authentication_token" varchar(255))
492
+  (0.8ms) CREATE UNIQUE INDEX "index_users_on_authentication_token" ON "users" ("authentication_token")
493
+  (0.1ms) SELECT sql
494
+ FROM sqlite_master
495
+ WHERE name='index_users_on_authentication_token' AND type='index'
496
+ UNION ALL
497
+ SELECT sql
498
+ FROM sqlite_temp_master
499
+ WHERE name='index_users_on_authentication_token' AND type='index'
500
+
501
+  (0.8ms) CREATE UNIQUE INDEX "index_users_on_reset_password_token" ON "users" ("reset_password_token")
502
+  (1.0ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
503
+  (0.9ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
504
+  (0.1ms) SELECT version FROM "schema_migrations"
505
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20141215153026')
506
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141127081722')
507
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141127114158')
508
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141201085308')
509
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141201111915')
510
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20141208080520')
511
+  (0.8ms) CREATE TABLE "active_admin_comments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "namespace" varchar(255), "body" text, "resource_id" varchar(255) NOT NULL, "resource_type" varchar(255) NOT NULL, "author_id" integer, "author_type" varchar(255), "created_at" datetime, "updated_at" datetime) 
512
+  (0.1ms) select sqlite_version(*)
513
+  (0.9ms) CREATE INDEX "index_active_admin_comments_on_author_type_and_author_id" ON "active_admin_comments" ("author_type", "author_id")
514
+  (0.1ms) SELECT sql
515
+ FROM sqlite_master
516
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
517
+ UNION ALL
518
+ SELECT sql
519
+ FROM sqlite_temp_master
520
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
521
+
522
+  (0.8ms) CREATE INDEX "index_active_admin_comments_on_namespace" ON "active_admin_comments" ("namespace")
523
+  (0.1ms) SELECT sql
524
+ FROM sqlite_master
525
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
526
+ UNION ALL
527
+ SELECT sql
528
+ FROM sqlite_temp_master
529
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
530
+
531
+  (0.1ms)  SELECT sql
532
+ FROM sqlite_master
533
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
534
+ UNION ALL
535
+ SELECT sql
536
+ FROM sqlite_temp_master
537
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
538
+ 
539
+  (0.9ms) CREATE INDEX "index_active_admin_comments_on_resource_type_and_resource_id" ON "active_admin_comments" ("resource_type", "resource_id")
540
+  (1.0ms) CREATE TABLE "secret_spaces" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "text" varchar(255), "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) 
541
+  (1.0ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "email" varchar(255) DEFAULT '' NOT NULL, "encrypted_password" varchar(255) DEFAULT '' NOT NULL, "reset_password_token" varchar(255), "reset_password_sent_at" datetime, "remember_created_at" datetime, "created_at" datetime, "updated_at" datetime, "authentication_token" varchar(255))
542
+  (0.8ms) CREATE UNIQUE INDEX "index_users_on_authentication_token" ON "users" ("authentication_token")
543
+  (0.1ms) SELECT sql
544
+ FROM sqlite_master
545
+ WHERE name='index_users_on_authentication_token' AND type='index'
546
+ UNION ALL
547
+ SELECT sql
548
+ FROM sqlite_temp_master
549
+ WHERE name='index_users_on_authentication_token' AND type='index'
550
+
551
+  (0.8ms) CREATE UNIQUE INDEX "index_users_on_reset_password_token" ON "users" ("reset_password_token")
552
+  (0.9ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL)
553
+  (0.9ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
554
+  (0.1ms) SELECT version FROM "schema_migrations"
555
+  (0.9ms) INSERT INTO "schema_migrations" (version) VALUES ('20141215153026')
556
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141127081722')
557
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141127114158')
558
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141201085308')
559
+  (0.7ms) INSERT INTO "schema_migrations" (version) VALUES ('20141201111915')
560
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES ('20141208080520')
561
+ ActiveRecord::SchemaMigration Load (0.4ms) SELECT "schema_migrations".* FROM "schema_migrations"
562
+ User Load (0.7ms) SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1
563
+  (0.1ms) begin transaction
564
+ User Exists (0.1ms) SELECT 1 AS one FROM "users" WHERE "users"."email" = 'ios@example.com' LIMIT 1
565
+  (0.1ms) SELECT COUNT(*) FROM "users" WHERE "users"."authentication_token" = 'M9h8yNixmx-cRSzCkZsx'
566
+ Binary data inserted for `string` type on column `encrypted_password`
567
+ SQL (0.3ms) INSERT INTO "users" ("authentication_token", "created_at", "email", "encrypted_password", "updated_at") VALUES (?, ?, ?, ?, ?) [["authentication_token", "M9h8yNixmx-cRSzCkZsx"], ["created_at", "2015-02-18 18:39:28.661533"], ["email", "ios@example.com"], ["encrypted_password", "$2a$10$TUcUDHTXbzFwqNPf/uZAYOGNvljN/GXiXa9wtYiWiqQnVKaLjpCwm"], ["updated_at", "2015-02-18 18:39:28.661533"]]
568
+  (1.4ms) commit transaction
569
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
570
+ ActiveRecord::SchemaMigration Load (0.1ms) SELECT "schema_migrations".* FROM "schema_migrations"
571
+  (0.1ms)  SELECT sql
572
+ FROM sqlite_master
573
+ WHERE name='index_active_admin_comments_on_resource_type_and_resource_id' AND type='index'
574
+ UNION ALL
575
+ SELECT sql
576
+ FROM sqlite_temp_master
577
+ WHERE name='index_active_admin_comments_on_resource_type_and_resource_id' AND type='index'
578
+ 
579
+  (0.1ms) SELECT sql
580
+ FROM sqlite_master
581
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
582
+ UNION ALL
583
+ SELECT sql
584
+ FROM sqlite_temp_master
585
+ WHERE name='index_active_admin_comments_on_namespace' AND type='index'
586
+
587
+  (0.1ms)  SELECT sql
588
+ FROM sqlite_master
589
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
590
+ UNION ALL
591
+ SELECT sql
592
+ FROM sqlite_temp_master
593
+ WHERE name='index_active_admin_comments_on_author_type_and_author_id' AND type='index'
594
+ 
595
+  (0.1ms) SELECT sql
596
+ FROM sqlite_master
597
+ WHERE name='index_users_on_reset_password_token' AND type='index'
598
+ UNION ALL
599
+ SELECT sql
600
+ FROM sqlite_temp_master
601
+ WHERE name='index_users_on_reset_password_token' AND type='index'
602
+
603
+  (0.1ms)  SELECT sql
604
+ FROM sqlite_master
605
+ WHERE name='index_users_on_authentication_token' AND type='index'
606
+ UNION ALL
607
+ SELECT sql
608
+ FROM sqlite_temp_master
609
+ WHERE name='index_users_on_authentication_token' AND type='index'
610
+