tiddle 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +1 -1
  4. data/.travis.yml +5 -1
  5. data/Appraisals +6 -1
  6. data/CHANGELOG.md +4 -0
  7. data/gemfiles/rails4.2.gemfile +1 -0
  8. data/gemfiles/rails5.0.gemfile +1 -0
  9. data/gemfiles/rails5.1.gemfile +1 -0
  10. data/gemfiles/rails5.2.gemfile +3 -1
  11. data/lib/tiddle/token_issuer.rb +9 -2
  12. data/lib/tiddle/version.rb +1 -1
  13. data/spec/{rails_app → rails_app_active_record}/app/controllers/application_controller.rb +0 -0
  14. data/spec/{rails_app → rails_app_active_record}/app/controllers/long_secrets_controller.rb +0 -0
  15. data/spec/{rails_app → rails_app_active_record}/app/controllers/secrets_controller.rb +0 -0
  16. data/spec/{rails_app → rails_app_active_record}/app/models/admin_user.rb +0 -0
  17. data/spec/{rails_app → rails_app_active_record}/app/models/authentication_token.rb +0 -0
  18. data/spec/{rails_app → rails_app_active_record}/app/models/user.rb +0 -0
  19. data/spec/{rails_app → rails_app_active_record}/config/application.rb +2 -2
  20. data/spec/{rails_app → rails_app_active_record}/config/boot.rb +0 -0
  21. data/spec/{rails_app → rails_app_active_record}/config/environment.rb +0 -0
  22. data/spec/{rails_app → rails_app_active_record}/config/routes.rb +0 -0
  23. data/spec/{rails_app → rails_app_active_record}/config/secrets.yml +0 -0
  24. data/spec/{rails_app → rails_app_active_record}/db/migrate/20150217000000_create_tables.rb +9 -5
  25. data/spec/rails_app_mongoid/app/controllers/application_controller.rb +5 -0
  26. data/spec/rails_app_mongoid/app/controllers/long_secrets_controller.rb +7 -0
  27. data/spec/rails_app_mongoid/app/controllers/secrets_controller.rb +7 -0
  28. data/spec/rails_app_mongoid/app/models/admin_user.rb +2 -0
  29. data/spec/rails_app_mongoid/app/models/authentication_token.rb +11 -0
  30. data/spec/rails_app_mongoid/app/models/user.rb +22 -0
  31. data/spec/rails_app_mongoid/config/application.rb +16 -0
  32. data/spec/rails_app_mongoid/config/boot.rb +2 -0
  33. data/spec/rails_app_mongoid/config/environment.rb +5 -0
  34. data/spec/rails_app_mongoid/config/mongoid.yml +6 -0
  35. data/spec/rails_app_mongoid/config/routes.rb +6 -0
  36. data/spec/rails_app_mongoid/config/secrets.yml +2 -0
  37. data/spec/spec_helper.rb +9 -5
  38. data/spec/strategy_spec.rb +2 -2
  39. data/spec/support/backend.rb +50 -0
  40. data/spec/support/warningless_get.rb +1 -1
  41. data/spec/tiddle_spec.rb +1 -1
  42. data/tiddle.gemspec +2 -1
  43. metadata +67 -27
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 636a498dc602f9309c1baf81f3f34276aad7e710fd14d170c02ba5af381b40f1
4
- data.tar.gz: 670f3801abc579331c721d66ee5cf68e46817a89bdadfc6356d0f02ce0276176
3
+ metadata.gz: a2c0bdb8f5aeabf3e9c1528e84b993f900860d4fdfa09d2f22138cbe698a82fd
4
+ data.tar.gz: 37c83e2682e4eafaba3ab2d4ec360367e81595b632da2f3d504f6de49d9fa39d
5
5
  SHA512:
6
- metadata.gz: d5305d3d877befdee9203d7001f05e07ef38a3ad77abcc74563140f2217f69319d39d723be4453410b1935ed01a839995e8c296c767349b2355657b36ba7532b
7
- data.tar.gz: c114628903a18817a6a99ab3e233639d4e2c428e7216c06e46eed4407aac243f89533db8cae5edf05335d351c4903ea3559da60e1b42821b3c98ffdbf984eb0b
6
+ metadata.gz: '0936ed71652bec98eb6e0ad7fcc16e7508be99d6bef7b7e0aa3281533b9e8960356c7efe7088a0367da8139b279f54540c759837b06c679a66037cd0ad9220ff'
7
+ data.tar.gz: 29d80705f0ce7a7004c89669ebcfc36667e0dd0d48f0c5fa2c4994eeedb4da1884ee0ae18b9ce09886788107f636a6e1b246966f6619f4f0ffb84adf66a9c668
data/.gitignore CHANGED
@@ -17,3 +17,4 @@ mkmf.log
17
17
  *.sqlite3
18
18
  *.log
19
19
  *.gemfile.lock
20
+ .idea
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.2
2
+ TargetRubyVersion: 2.3
3
3
  Include:
4
4
  - 'lib'
5
5
  - 'spec'
@@ -1,7 +1,8 @@
1
1
  language: ruby
2
2
  before_install: gem update --system
3
+ services:
4
+ - mongodb
3
5
  rvm:
4
- - "2.2.8"
5
6
  - "2.3.5"
6
7
  - "2.4.2"
7
8
  - "2.5.0"
@@ -10,3 +11,6 @@ gemfile:
10
11
  - "gemfiles/rails5.0.gemfile"
11
12
  - "gemfiles/rails5.1.gemfile"
12
13
  - "gemfiles/rails5.2.gemfile"
14
+ env:
15
+ - BACKEND=mongoid
16
+ - BACKEND=active_record
data/Appraisals CHANGED
@@ -1,15 +1,20 @@
1
1
  appraise "rails4.2" do
2
2
  gem "rails", "~> 4.2.0"
3
+ gem "mongoid", "~> 5"
3
4
  end
4
5
 
5
6
  appraise "rails5.0" do
6
7
  gem "rails", "~> 5.0.0"
8
+ gem "mongoid", "~> 6"
7
9
  end
8
10
 
9
11
  appraise "rails5.1" do
10
12
  gem "rails", "~> 5.1.0"
13
+ gem "mongoid", "~> 6"
11
14
  end
12
15
 
13
16
  appraise "rails5.2" do
14
- gem "rails", "5.2.0.beta2"
17
+ gem "rails", "5.2.0.rc1"
18
+ gem "devise", "4.4.1"
19
+ gem "mongoid", "~> 6"
15
20
  end
@@ -1,3 +1,7 @@
1
+ ### 1.2.0
2
+
3
+ Adds support for MongoDB.
4
+
1
5
  ### 1.1.0
2
6
 
3
7
  New feature: optional token expiration after period of inactivity - #37
@@ -4,5 +4,6 @@ source "https://rubygems.org"
4
4
 
5
5
  gem "rubocop", "~> 0.52.0"
6
6
  gem "rails", "~> 4.2.0"
7
+ gem "mongoid", "~> 5"
7
8
 
8
9
  gemspec path: "../"
@@ -4,5 +4,6 @@ source "https://rubygems.org"
4
4
 
5
5
  gem "rubocop", "~> 0.52.0"
6
6
  gem "rails", "~> 5.0.0"
7
+ gem "mongoid", "~> 6"
7
8
 
8
9
  gemspec path: "../"
@@ -4,5 +4,6 @@ source "https://rubygems.org"
4
4
 
5
5
  gem "rubocop", "~> 0.52.0"
6
6
  gem "rails", "~> 5.1.0"
7
+ gem "mongoid", "~> 6"
7
8
 
8
9
  gemspec path: "../"
@@ -3,6 +3,8 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rubocop", "~> 0.52.0"
6
- gem "rails", "5.2.0.beta2"
6
+ gem "rails", "5.2.0.rc1"
7
+ gem "devise", "4.4.1"
8
+ gem "mongoid", "~> 6"
7
9
 
8
10
  gemspec path: "../"
@@ -31,7 +31,8 @@ module Tiddle
31
31
  def find_token(resource, token_from_headers)
32
32
  token_class = authentication_token_class(resource)
33
33
  token_body = Devise.token_generator.digest(token_class, :body, token_from_headers)
34
- resource.authentication_tokens.find_by(body: token_body)
34
+ # 'find_by' behaves differently in AR vs Mongoid, so using 'where' instead
35
+ resource.authentication_tokens.where(body: token_body).first
35
36
  end
36
37
 
37
38
  def purge_old_tokens(resource)
@@ -46,7 +47,13 @@ module Tiddle
46
47
  attr_accessor :maximum_tokens_per_user
47
48
 
48
49
  def authentication_token_class(resource)
49
- resource.association(:authentication_tokens).klass
50
+ if resource.respond_to?(:association) # ActiveRecord
51
+ resource.association(:authentication_tokens).klass
52
+ elsif resource.respond_to?(:relations) # Mongoid
53
+ resource.relations['authentication_tokens'].klass
54
+ else
55
+ raise 'Cannot determine authentication token class, unsupported ORM/ODM?'
56
+ end
50
57
  end
51
58
 
52
59
  def token_attributes(token_body, request, expires_in)
@@ -1,3 +1,3 @@
1
1
  module Tiddle
2
- VERSION = "1.1.0".freeze
2
+ VERSION = "1.2.0".freeze
3
3
  end
@@ -8,8 +8,8 @@ require "action_view/railtie"
8
8
  module RailsApp
9
9
  class Application < Rails::Application
10
10
  config.eager_load = true
11
- config.root = File.expand_path('../../.', __FILE__)
11
+ config.root = File.expand_path('../../.', __FILE__)
12
12
  config.consider_all_requests_local = true
13
+ config.active_record.sqlite3.represent_boolean_as_integer = true if config.active_record.sqlite3
13
14
  end
14
15
  end
15
-
@@ -1,10 +1,12 @@
1
- if Rails::VERSION::MAJOR > 4
2
- migration_class = ActiveRecord::Migration[4.2]
3
- else
4
- migration_class = ActiveRecord::Migration
5
- end
1
+ migration_class = if Rails::VERSION::MAJOR > 4
2
+ ActiveRecord::Migration[4.2]
3
+ else
4
+ ActiveRecord::Migration
5
+ end
6
6
 
7
7
  class CreateTables < migration_class
8
+ # rubocop:disable Metrics/AbcSize
9
+ # rubocop:disable Metrics/MethodLength
8
10
  def change
9
11
  create_table(:users) do |t|
10
12
  ## Database authenticatable
@@ -63,4 +65,6 @@ class CreateTables < migration_class
63
65
  t.timestamps null: false
64
66
  end
65
67
  end
68
+ # rubocop:enable Metrics/AbcSize
69
+ # rubocop:enable Metrics/MethodLength
66
70
  end
@@ -0,0 +1,5 @@
1
+ class ApplicationController < ActionController::Base
2
+ # Prevent CSRF attacks by raising an exception.
3
+ # For APIs, you may want to use :null_session instead.
4
+ protect_from_forgery with: :exception
5
+ end
@@ -0,0 +1,7 @@
1
+ class LongSecretsController < ApplicationController
2
+ before_action :authenticate_admin_user!
3
+
4
+ def index
5
+ head :ok
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ class SecretsController < ApplicationController
2
+ before_action :authenticate_user!
3
+
4
+ def index
5
+ head :ok
6
+ end
7
+ end
@@ -0,0 +1,2 @@
1
+ class AdminUser < User
2
+ end
@@ -0,0 +1,11 @@
1
+ class AuthenticationToken
2
+ include Mongoid::Document
3
+
4
+ belongs_to :user
5
+
6
+ field :body, type: String
7
+ field :last_used_at, type: Time
8
+ field :ip_address, type: String
9
+ field :user_agent, type: String
10
+ field :expires_in, type: Integer, default: 0
11
+ end
@@ -0,0 +1,22 @@
1
+ class User
2
+ include Mongoid::Document
3
+
4
+ devise :database_authenticatable,
5
+ :registerable,
6
+ :recoverable,
7
+ :trackable,
8
+ #:validatable Triggers callback to will_save_change_to_email?, fails with mongoid
9
+ :token_authenticatable
10
+
11
+ has_many :authentication_tokens
12
+
13
+ field :email, type: String, default: ''
14
+ field :encrypted_password, type: String, default: ''
15
+ field :reset_password_token, type: String
16
+ field :reset_password_sent_at, type: Time
17
+ field :sign_in_count, type: Integer, default: 0
18
+ field :current_sign_in_at, type: Time
19
+ field :last_sign_in_at, type: Time
20
+ field :current_sign_in_ip, type: String
21
+ field :nick_name, type: String
22
+ end
@@ -0,0 +1,16 @@
1
+ require File.expand_path('../boot', __FILE__)
2
+
3
+ require "active_model/railtie"
4
+ require "active_job/railtie"
5
+ require "action_controller/railtie"
6
+ require "action_mailer/railtie"
7
+ require "action_view/railtie"
8
+
9
+ module RailsApp
10
+ class Application < Rails::Application
11
+ config.eager_load = true
12
+ config.root = File.expand_path('../../.', __FILE__)
13
+ config.consider_all_requests_local = true
14
+ config.active_record.sqlite3.represent_boolean_as_integer = true if config.active_record.sqlite3
15
+ end
16
+ end
@@ -0,0 +1,2 @@
1
+ ENV['BUNDLE_GEMFILE'] = File.expand_path('../../../../Gemfile', __FILE__)
2
+ require 'bundler/setup'
@@ -0,0 +1,5 @@
1
+ # Load the Rails application.
2
+ require File.expand_path('../application', __FILE__)
3
+
4
+ # Initialize the Rails application.
5
+ Rails.application.initialize!
@@ -0,0 +1,6 @@
1
+ test:
2
+ clients:
3
+ default:
4
+ database: tiddle_test
5
+ hosts:
6
+ - 0.0.0.0:27017
@@ -0,0 +1,6 @@
1
+ Rails.application.routes.draw do
2
+ devise_for :users
3
+ devise_for :admin_users
4
+ resources :secrets, only: [:index], defaults: { format: 'json' }
5
+ resources :long_secrets, only: [:index], defaults: { format: 'json' }
6
+ end
@@ -0,0 +1,2 @@
1
+ test:
2
+ secret_key_base: 01c37cff57639eef8aa511ae6ab64298c1da89dc32dfdda363473716f49e25d2473e48b6253c69d17c8ae8c9b6a027ec5a4ac0ffbd6c06defe1b70dd2ef32df8
@@ -16,13 +16,13 @@ ENV["DATABASE_URL"] = "sqlite3:db/test.sqlite3"
16
16
  require 'rails/all'
17
17
  require 'rspec/rails'
18
18
  require 'devise'
19
- require 'devise/orm/active_record'
20
19
  require 'tiddle'
21
20
 
22
- require 'rails_app/config/environment'
23
-
24
21
  Dir[__dir__ + "/support/**/*.rb"].each { |f| require f }
25
22
 
23
+ backend = Backend.from_name(ENV['BACKEND'])
24
+ backend.load!
25
+
26
26
  # This file was generated by the `rspec --init` command. Conventionally, all
27
27
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
28
28
  # The generated `.rspec` file contains `--require spec_helper` which will cause
@@ -66,8 +66,12 @@ RSpec.configure do |config|
66
66
  end
67
67
 
68
68
  config.before(:suite) do
69
- # Do initial migration
70
- ActiveRecord::Migrator.migrate(File.expand_path("rails_app/db/migrate/", File.dirname(__FILE__)))
69
+ backend.setup_database_cleaner
70
+ backend.migrate!
71
+ end
72
+
73
+ config.before(:each) do
74
+ DatabaseCleaner.clean if defined?(DatabaseCleaner)
71
75
  end
72
76
 
73
77
  config.use_transactional_fixtures = true
@@ -32,7 +32,7 @@ describe "Authentication using Tiddle strategy", type: :request do
32
32
  "X-USER-TOKEN" => @token
33
33
  }
34
34
  )
35
- end.to(change { @user.authentication_tokens.last.last_used_at })
35
+ end.to(change { @user.reload.authentication_tokens.last.last_used_at })
36
36
  end
37
37
  end
38
38
 
@@ -181,7 +181,7 @@ describe "Authentication using Tiddle strategy", type: :request do
181
181
 
182
182
  describe "token is expired" do
183
183
  before do
184
- token = @user.authentication_tokens.order(:id).last
184
+ token = @user.authentication_tokens.sort_by(&:id).last
185
185
  token.update_attribute(:last_used_at, 1.month.ago)
186
186
  end
187
187
 
@@ -0,0 +1,50 @@
1
+ module Backend
2
+ def self.from_name(name)
3
+ puts "Backend: #{name}"
4
+ case name
5
+ when 'mongoid'
6
+ MongoidBackend.new
7
+ else
8
+ ActiveRecordBackend.new
9
+ end
10
+ end
11
+
12
+ class ActiveRecordBackend
13
+ def load!
14
+ require 'devise/orm/active_record'
15
+ require 'rails_app_active_record/config/environment'
16
+ end
17
+
18
+ def setup_database_cleaner
19
+ # Not necessary
20
+ end
21
+
22
+ def migrate!
23
+ # Do initial migration
24
+ path = File.expand_path("../rails_app_active_record/db/migrate/", File.dirname(__FILE__))
25
+
26
+ if Gem::Requirement.new(">= 5.2.0.rc1") =~ Rails.gem_version
27
+ ActiveRecord::MigrationContext.new(path).migrate
28
+ else
29
+ ActiveRecord::Migrator.migrate(path)
30
+ end
31
+ end
32
+ end
33
+
34
+ class MongoidBackend
35
+ def load!
36
+ require 'mongoid'
37
+ require 'devise/orm/mongoid'
38
+ require 'rails_app_mongoid/config/environment'
39
+ require 'database_cleaner'
40
+ end
41
+
42
+ def setup_database_cleaner
43
+ DatabaseCleaner[:mongoid].strategy = :truncation
44
+ end
45
+
46
+ def migrate!
47
+ # Not necessary
48
+ end
49
+ end
50
+ end
@@ -1,5 +1,5 @@
1
1
  def warningless_get(path, headers:)
2
- if Rails::VERSION::MAJOR >= 5
2
+ if Gem::Requirement.new(">= 5") =~ Rails.gem_version
3
3
  get path, headers: headers
4
4
  else
5
5
  get path, {}, headers
@@ -23,7 +23,7 @@ describe Tiddle do
23
23
 
24
24
  it "sets last_used_at field" do
25
25
  Tiddle.create_and_return_token(@user, FakeRequest.new)
26
- expect(@user.authentication_tokens.last.last_used_at)
26
+ expect(@user.authentication_tokens.last.last_used_at.to_time)
27
27
  .to be_within(1).of(Time.current)
28
28
  end
29
29
 
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
16
16
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
17
  spec.require_paths = ["lib"]
18
18
 
19
- spec.required_ruby_version = '>= 2.2.0'
19
+ spec.required_ruby_version = '>= 2.3.0'
20
20
 
21
21
  spec.add_dependency "devise", ">= 4.0.0.rc1", "< 4.5"
22
22
  spec.add_dependency "activerecord", ">= 4.2.0"
@@ -28,4 +28,5 @@ Gem::Specification.new do |spec|
28
28
  spec.add_development_dependency "coveralls"
29
29
  spec.add_development_dependency "simplecov"
30
30
  spec.add_development_dependency "rubocop"
31
+ spec.add_development_dependency "database_cleaner"
31
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiddle
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Niedzielski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-16 00:00:00.000000000 Z
11
+ date: 2018-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: devise
@@ -156,6 +156,20 @@ dependencies:
156
156
  - - ">="
157
157
  - !ruby/object:Gem::Version
158
158
  version: '0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: database_cleaner
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
159
173
  description:
160
174
  email:
161
175
  - adamsunday@gmail.com
@@ -186,20 +200,33 @@ files:
186
200
  - lib/tiddle/strategy.rb
187
201
  - lib/tiddle/token_issuer.rb
188
202
  - lib/tiddle/version.rb
189
- - spec/rails_app/app/controllers/application_controller.rb
190
- - spec/rails_app/app/controllers/long_secrets_controller.rb
191
- - spec/rails_app/app/controllers/secrets_controller.rb
192
- - spec/rails_app/app/models/admin_user.rb
193
- - spec/rails_app/app/models/authentication_token.rb
194
- - spec/rails_app/app/models/user.rb
195
- - spec/rails_app/config/application.rb
196
- - spec/rails_app/config/boot.rb
197
- - spec/rails_app/config/environment.rb
198
- - spec/rails_app/config/routes.rb
199
- - spec/rails_app/config/secrets.yml
200
- - spec/rails_app/db/migrate/20150217000000_create_tables.rb
203
+ - spec/rails_app_active_record/app/controllers/application_controller.rb
204
+ - spec/rails_app_active_record/app/controllers/long_secrets_controller.rb
205
+ - spec/rails_app_active_record/app/controllers/secrets_controller.rb
206
+ - spec/rails_app_active_record/app/models/admin_user.rb
207
+ - spec/rails_app_active_record/app/models/authentication_token.rb
208
+ - spec/rails_app_active_record/app/models/user.rb
209
+ - spec/rails_app_active_record/config/application.rb
210
+ - spec/rails_app_active_record/config/boot.rb
211
+ - spec/rails_app_active_record/config/environment.rb
212
+ - spec/rails_app_active_record/config/routes.rb
213
+ - spec/rails_app_active_record/config/secrets.yml
214
+ - spec/rails_app_active_record/db/migrate/20150217000000_create_tables.rb
215
+ - spec/rails_app_mongoid/app/controllers/application_controller.rb
216
+ - spec/rails_app_mongoid/app/controllers/long_secrets_controller.rb
217
+ - spec/rails_app_mongoid/app/controllers/secrets_controller.rb
218
+ - spec/rails_app_mongoid/app/models/admin_user.rb
219
+ - spec/rails_app_mongoid/app/models/authentication_token.rb
220
+ - spec/rails_app_mongoid/app/models/user.rb
221
+ - spec/rails_app_mongoid/config/application.rb
222
+ - spec/rails_app_mongoid/config/boot.rb
223
+ - spec/rails_app_mongoid/config/environment.rb
224
+ - spec/rails_app_mongoid/config/mongoid.yml
225
+ - spec/rails_app_mongoid/config/routes.rb
226
+ - spec/rails_app_mongoid/config/secrets.yml
201
227
  - spec/spec_helper.rb
202
228
  - spec/strategy_spec.rb
229
+ - spec/support/backend.rb
203
230
  - spec/support/fake_request.rb
204
231
  - spec/support/warningless_get.rb
205
232
  - spec/tiddle_spec.rb
@@ -216,7 +243,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
216
243
  requirements:
217
244
  - - ">="
218
245
  - !ruby/object:Gem::Version
219
- version: 2.2.0
246
+ version: 2.3.0
220
247
  required_rubygems_version: !ruby/object:Gem::Requirement
221
248
  requirements:
222
249
  - - ">="
@@ -229,20 +256,33 @@ signing_key:
229
256
  specification_version: 4
230
257
  summary: Token authentication for Devise which supports multiple tokens per model
231
258
  test_files:
232
- - spec/rails_app/app/controllers/application_controller.rb
233
- - spec/rails_app/app/controllers/long_secrets_controller.rb
234
- - spec/rails_app/app/controllers/secrets_controller.rb
235
- - spec/rails_app/app/models/admin_user.rb
236
- - spec/rails_app/app/models/authentication_token.rb
237
- - spec/rails_app/app/models/user.rb
238
- - spec/rails_app/config/application.rb
239
- - spec/rails_app/config/boot.rb
240
- - spec/rails_app/config/environment.rb
241
- - spec/rails_app/config/routes.rb
242
- - spec/rails_app/config/secrets.yml
243
- - spec/rails_app/db/migrate/20150217000000_create_tables.rb
259
+ - spec/rails_app_active_record/app/controllers/application_controller.rb
260
+ - spec/rails_app_active_record/app/controllers/long_secrets_controller.rb
261
+ - spec/rails_app_active_record/app/controllers/secrets_controller.rb
262
+ - spec/rails_app_active_record/app/models/admin_user.rb
263
+ - spec/rails_app_active_record/app/models/authentication_token.rb
264
+ - spec/rails_app_active_record/app/models/user.rb
265
+ - spec/rails_app_active_record/config/application.rb
266
+ - spec/rails_app_active_record/config/boot.rb
267
+ - spec/rails_app_active_record/config/environment.rb
268
+ - spec/rails_app_active_record/config/routes.rb
269
+ - spec/rails_app_active_record/config/secrets.yml
270
+ - spec/rails_app_active_record/db/migrate/20150217000000_create_tables.rb
271
+ - spec/rails_app_mongoid/app/controllers/application_controller.rb
272
+ - spec/rails_app_mongoid/app/controllers/long_secrets_controller.rb
273
+ - spec/rails_app_mongoid/app/controllers/secrets_controller.rb
274
+ - spec/rails_app_mongoid/app/models/admin_user.rb
275
+ - spec/rails_app_mongoid/app/models/authentication_token.rb
276
+ - spec/rails_app_mongoid/app/models/user.rb
277
+ - spec/rails_app_mongoid/config/application.rb
278
+ - spec/rails_app_mongoid/config/boot.rb
279
+ - spec/rails_app_mongoid/config/environment.rb
280
+ - spec/rails_app_mongoid/config/mongoid.yml
281
+ - spec/rails_app_mongoid/config/routes.rb
282
+ - spec/rails_app_mongoid/config/secrets.yml
244
283
  - spec/spec_helper.rb
245
284
  - spec/strategy_spec.rb
285
+ - spec/support/backend.rb
246
286
  - spec/support/fake_request.rb
247
287
  - spec/support/warningless_get.rb
248
288
  - spec/tiddle_spec.rb