doorkeeper-sequel 1.5.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.gitmodules +0 -1
- data/CHANGELOG.md +9 -3
- data/README.md +8 -2
- data/Rakefile +2 -0
- data/config/locales/en.yml +2 -0
- data/doorkeeper-sequel.gemspec +2 -1
- data/lib/doorkeeper-sequel/gem_version.rb +2 -2
- data/lib/doorkeeper-sequel/generators/pkce_generator.rb +14 -0
- data/lib/doorkeeper-sequel/generators/templates/enable_pkce_migration.rb +8 -0
- data/lib/doorkeeper-sequel/mixins/access_grant_mixin.rb +25 -1
- data/lib/doorkeeper-sequel/mixins/access_token_mixin.rb +18 -14
- data/lib/doorkeeper-sequel/mixins/application_mixin.rb +17 -0
- data/lib/doorkeeper-sequel/mixins/concerns/sequel_compat.rb +14 -0
- data/lib/doorkeeper-sequel/tasks/doorkeeper-sequel.rake +10 -0
- data/lib/doorkeeper/orm/sequel.rb +2 -0
- data/lib/doorkeeper/orm/sequel/application.rb +5 -0
- data/lib/doorkeeper/orm/sequel/stale_records_cleaner.rb +26 -0
- data/spec/stubs/config/initializers/db.rb +3 -0
- metadata +69 -58
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d016a084c8970dfd895fb289df936babf93c5fa9
|
4
|
+
data.tar.gz: 79e8e295db71fee33e9112463f41b7bd63cf4711
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e654a464b6f0d2e7ef2d4ab81bbb2b2709a32fa847971dd4deca85052dc4055bcda4a270065a006f438fa9713abc8490d02d4da3086f79d9afca31e4e703a8c7
|
7
|
+
data.tar.gz: cfc5de44d6bc888d76f5041f7e9f4c4cc11dac6aefbeb4e4f3eb087eea73b7f926c5a561286931451912816b5fa0fa8cb8350b029959e5c3919d4b5419a536f7
|
data/.gitignore
CHANGED
data/.gitmodules
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,14 +1,20 @@
|
|
1
|
-
# Doorkeeper-Sequel ORM
|
1
|
+
# Doorkeeper-Sequel ORM Changelog
|
2
2
|
|
3
3
|
Reverse Chronological Order:
|
4
4
|
|
5
5
|
## master
|
6
6
|
|
7
|
-
https://github.com/nbulaj/doorkeeper-sequel/compare/
|
7
|
+
https://github.com/nbulaj/doorkeeper-sequel/compare/2.0.0...master
|
8
|
+
|
9
|
+
## `2.0.0` (2018-10-04)
|
10
|
+
|
11
|
+
https://github.com/nbulaj/doorkeeper-sequel/compare/1.5.0...2.0.0
|
12
|
+
|
13
|
+
* Support Doorkeeper >= 5.0.0
|
8
14
|
|
9
15
|
## `1.5.0` (2018-10-03)
|
10
16
|
|
11
|
-
https://github.com/nbulaj/doorkeeper-sequel/compare/1.
|
17
|
+
https://github.com/nbulaj/doorkeeper-sequel/compare/1.4.0...1.5.0
|
12
18
|
|
13
19
|
* Support Doorkeeper >= 4.2.7 && < 5.0.0
|
14
20
|
|
data/README.md
CHANGED
@@ -17,8 +17,13 @@
|
|
17
17
|
To start using the Doorkeeper Sequel ORM, add to your Gemfile:
|
18
18
|
|
19
19
|
``` ruby
|
20
|
-
|
21
|
-
gem 'doorkeeper
|
20
|
+
# For Doorkeeper 4.x
|
21
|
+
gem 'doorkeeper', '~> 4.3'
|
22
|
+
gem 'doorkeeper-sequel', '~> 1.5'
|
23
|
+
|
24
|
+
# For Doorkeeper 5.x
|
25
|
+
gem 'doorkeeper', '~> 5.0'
|
26
|
+
gem 'doorkeeper-sequel', '~> 2.0'
|
22
27
|
```
|
23
28
|
|
24
29
|
Or you can use git `master` branch for the latest gem version:
|
@@ -42,6 +47,7 @@ rake doorkeeper_sequel:generate:migration
|
|
42
47
|
rake doorkeeper_sequel:generate:application_owner
|
43
48
|
rake doorkeeper_sequel:generate:previous_refresh_token
|
44
49
|
rake doorkeeper_sequel:generate:confidential_applications # for Doorkeeper >= 4.4
|
50
|
+
rake doorkeeper_sequel:generate:pkce # for Doorkeeper >= 5.x
|
45
51
|
```
|
46
52
|
|
47
53
|
## Tests
|
data/Rakefile
CHANGED
@@ -26,6 +26,7 @@ class ExtensionIntegrator
|
|
26
26
|
|
27
27
|
def copy_spec_stubs!
|
28
28
|
FileUtils.cp_r('spec/stubs/spec_helper_integration.rb', 'spec/spec_helper_integration.rb')
|
29
|
+
FileUtils.cp_r('spec/stubs/spec_helper_integration.rb', 'spec/spec_helper.rb')
|
29
30
|
FileUtils.cp_r('spec/stubs/models/user.rb', 'spec/dummy/app/models/user.rb')
|
30
31
|
FileUtils.cp_r('spec/stubs/config/initializers/db.rb', 'spec/dummy/config/initializers/db.rb')
|
31
32
|
FileUtils.cp_r('spec/stubs/config/application.rb', 'spec/dummy/config/application.rb')
|
@@ -33,6 +34,7 @@ class ExtensionIntegrator
|
|
33
34
|
FileUtils.rm('spec/dummy/config/initializers/active_record_belongs_to_required_by_default.rb', force: true)
|
34
35
|
FileUtils.rm('spec/dummy/config/initializers/new_framework_defaults.rb', force: true)
|
35
36
|
FileUtils.rm('spec/models/doorkeeper/base_record_spec.rb', force: true)
|
37
|
+
FileUtils.rm('spec/lib/orm/active_record/stale_records_cleaner_spec.rb', force: true)
|
36
38
|
# Remove generators specs because we are using our own
|
37
39
|
FileUtils.rm(Dir.glob('spec/generators/*.rb'))
|
38
40
|
end
|
data/config/locales/en.yml
CHANGED
data/doorkeeper-sequel.gemspec
CHANGED
@@ -20,11 +20,12 @@ Gem::Specification.new do |gem|
|
|
20
20
|
|
21
21
|
gem.required_ruby_version = '>= 2.0.0'
|
22
22
|
|
23
|
-
gem.add_runtime_dependency 'doorkeeper', '>=
|
23
|
+
gem.add_runtime_dependency 'doorkeeper', '>= 5.0.0'
|
24
24
|
gem.add_runtime_dependency 'sequel', '>= 4.0.0', '< 6'
|
25
25
|
gem.add_runtime_dependency 'sequel_polymorphic', '~> 0.2', '< 1.0'
|
26
26
|
gem.add_runtime_dependency 'thor', '>= 0.18', '< 6'
|
27
27
|
|
28
|
+
gem.add_development_dependency 'coveralls'
|
28
29
|
gem.add_development_dependency 'grape'
|
29
30
|
gem.add_development_dependency 'capybara', '~> 2.14', '>= 2.14.0'
|
30
31
|
gem.add_development_dependency 'database_cleaner', '~> 1.5', '>= 1.5.0'
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module DoorkeeperSequel
|
2
|
+
class PkceGenerator < ::Thor::Group
|
3
|
+
include ::Thor::Actions
|
4
|
+
include MigrationActions
|
5
|
+
|
6
|
+
source_root File.expand_path('../templates', __FILE__)
|
7
|
+
|
8
|
+
desc 'Provide support for PKCE.'
|
9
|
+
|
10
|
+
def install
|
11
|
+
create_migration 'enable_pkce_migration.rb.erb'
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -16,7 +16,7 @@ module DoorkeeperSequel
|
|
16
16
|
many_to_one :application, class: 'Doorkeeper::Application'
|
17
17
|
|
18
18
|
set_allowed_columns :resource_owner_id, :application_id,
|
19
|
-
:expires_in, :redirect_uri, :scopes
|
19
|
+
:expires_in, :redirect_uri, :scopes, :code_challenge, :code_challenge_method
|
20
20
|
|
21
21
|
def before_validation
|
22
22
|
generate_token if new?
|
@@ -29,12 +29,36 @@ module DoorkeeperSequel
|
|
29
29
|
:token, :expires_in, :redirect_uri]
|
30
30
|
validates_unique [:token]
|
31
31
|
end
|
32
|
+
|
33
|
+
def uses_pkce?
|
34
|
+
pkce_supported? && code_challenge.present?
|
35
|
+
end
|
36
|
+
|
37
|
+
def pkce_supported?
|
38
|
+
respond_to? :code_challenge
|
39
|
+
end
|
32
40
|
end
|
33
41
|
|
34
42
|
module ClassMethods
|
35
43
|
def by_token(token)
|
36
44
|
first(token: token.to_s)
|
37
45
|
end
|
46
|
+
|
47
|
+
def revoke_all_for(application_id, resource_owner, clock = Time)
|
48
|
+
where(application_id: application_id,
|
49
|
+
resource_owner_id: resource_owner.id,
|
50
|
+
revoked_at: nil)
|
51
|
+
.update(revoked_at: clock.now.utc)
|
52
|
+
end
|
53
|
+
|
54
|
+
def generate_code_challenge(code_verifier)
|
55
|
+
padded_result = Base64.urlsafe_encode64(Digest::SHA256.digest(code_verifier))
|
56
|
+
padded_result.split('=')[0] # Remove any trailing '='
|
57
|
+
end
|
58
|
+
|
59
|
+
def pkce_supported?
|
60
|
+
new.pkce_supported?
|
61
|
+
end
|
38
62
|
end
|
39
63
|
|
40
64
|
private
|
@@ -64,21 +64,29 @@ module DoorkeeperSequel
|
|
64
64
|
else
|
65
65
|
resource_owner_or_id
|
66
66
|
end
|
67
|
-
|
68
|
-
|
69
|
-
token
|
67
|
+
tokens = authorized_tokens_for(application.try(:id), resource_owner_id)
|
68
|
+
tokens.detect do |token|
|
69
|
+
scopes_match?(token.scopes, scopes, application.try(:scopes))
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
73
73
|
def scopes_match?(token_scopes, param_scopes, app_scopes)
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
param_scopes,
|
74
|
+
return true if token_scopes.empty? && param_scopes.empty?
|
75
|
+
(token_scopes.sort == param_scopes.sort) &&
|
76
|
+
Doorkeeper::OAuth::Helpers::ScopeChecker.valid?(
|
77
|
+
param_scopes.to_s,
|
78
|
+
Doorkeeper.configuration.scopes,
|
78
79
|
app_scopes
|
79
80
|
)
|
80
81
|
end
|
81
82
|
|
83
|
+
def authorized_tokens_for(application_id, resource_owner_id)
|
84
|
+
ordered_by(:created_at, :desc).
|
85
|
+
where(application_id: application_id,
|
86
|
+
resource_owner_id: resource_owner_id,
|
87
|
+
revoked_at: nil)
|
88
|
+
end
|
89
|
+
|
82
90
|
def find_or_create_for(application, resource_owner_id, scopes, expires_in, use_refresh_token)
|
83
91
|
if Doorkeeper.configuration.reuse_access_token
|
84
92
|
access_token = matching_token_for(application, resource_owner_id, scopes)
|
@@ -95,11 +103,7 @@ module DoorkeeperSequel
|
|
95
103
|
end
|
96
104
|
|
97
105
|
def last_authorized_token_for(application_id, resource_owner_id)
|
98
|
-
|
99
|
-
resource_owner_id: resource_owner_id,
|
100
|
-
revoked_at: nil)
|
101
|
-
.send(order_method, created_at_desc)
|
102
|
-
.first
|
106
|
+
authorized_tokens_for(application_id, resource_owner_id).first
|
103
107
|
end
|
104
108
|
end
|
105
109
|
|
@@ -114,8 +118,8 @@ module DoorkeeperSequel
|
|
114
118
|
def as_json(_options = {})
|
115
119
|
{
|
116
120
|
resource_owner_id: resource_owner_id,
|
117
|
-
|
118
|
-
|
121
|
+
scope: scopes,
|
122
|
+
expires_in: expires_in_seconds,
|
119
123
|
application: { uid: application.try(:uid) },
|
120
124
|
created_at: created_at.to_i
|
121
125
|
}
|
@@ -34,10 +34,27 @@ module DoorkeeperSequel
|
|
34
34
|
validates_redirect_uri :redirect_uri
|
35
35
|
validates_includes [true, false], :confidential, allow_missing: true
|
36
36
|
|
37
|
+
validate_scopes_match_configured if enforce_scopes?
|
38
|
+
|
37
39
|
if respond_to?(:validate_owner?)
|
38
40
|
validates_presence [:owner_id] if validate_owner?
|
39
41
|
end
|
40
42
|
end
|
43
|
+
|
44
|
+
protected
|
45
|
+
|
46
|
+
def validate_scopes_match_configured
|
47
|
+
if scopes.present? &&
|
48
|
+
!Doorkeeper::OAuth::Helpers::ScopeChecker.valid?(scopes.to_s, Doorkeeper.configuration.scopes)
|
49
|
+
|
50
|
+
scope = 'sequel.errors.models.doorkeeper/application.attributes.scopes'
|
51
|
+
errors.add(:scopes, I18n.t(:not_match_configured, scope: scope))
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def enforce_scopes?
|
56
|
+
Doorkeeper.configuration.enforce_configured_scopes?
|
57
|
+
end
|
41
58
|
end
|
42
59
|
|
43
60
|
module ClassMethods
|
@@ -34,6 +34,12 @@ module DoorkeeperSequel
|
|
34
34
|
def invalid?
|
35
35
|
!valid?
|
36
36
|
end
|
37
|
+
|
38
|
+
def exists?
|
39
|
+
!self.empty?
|
40
|
+
end
|
41
|
+
|
42
|
+
alias_method :exist?, :exists?
|
37
43
|
end
|
38
44
|
|
39
45
|
module ClassMethods
|
@@ -58,6 +64,14 @@ module DoorkeeperSequel
|
|
58
64
|
super(id: args)
|
59
65
|
end
|
60
66
|
end
|
67
|
+
|
68
|
+
def exists?(*args)
|
69
|
+
if args.any?
|
70
|
+
!where(*args).empty?
|
71
|
+
else
|
72
|
+
!empty?
|
73
|
+
end
|
74
|
+
end
|
61
75
|
end
|
62
76
|
end
|
63
77
|
end
|
@@ -14,5 +14,15 @@ namespace :doorkeeper_sequel do
|
|
14
14
|
task :previous_refresh_token do
|
15
15
|
DoorkeeperSequel::PreviousRefreshTokenGenerator.start
|
16
16
|
end
|
17
|
+
|
18
|
+
desc 'Generate migration file for PKCE'
|
19
|
+
task :pkce do
|
20
|
+
DoorkeeperSequel::PkceGenerator.start
|
21
|
+
end
|
22
|
+
|
23
|
+
desc 'Add confidential column to Doorkeeper applications'
|
24
|
+
task :confidential_applications do
|
25
|
+
DoorkeeperSequel::ConfidentialApplicationsGenerator.start
|
26
|
+
end
|
17
27
|
end
|
18
28
|
end
|
@@ -14,5 +14,10 @@ module Doorkeeper
|
|
14
14
|
resource_access_tokens = AccessToken.active_for(resource_owner)
|
15
15
|
where(id: resource_access_tokens.select_map(:application_id)).all
|
16
16
|
end
|
17
|
+
|
18
|
+
def self.revoke_tokens_and_grants_for(id, resource_owner)
|
19
|
+
AccessToken.revoke_all_for(id, resource_owner)
|
20
|
+
AccessGrant.revoke_all_for(id, resource_owner)
|
21
|
+
end
|
17
22
|
end
|
18
23
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Doorkeeper
|
4
|
+
module Orm
|
5
|
+
module Sequel
|
6
|
+
class StaleRecordsCleaner
|
7
|
+
def initialize(base_scope)
|
8
|
+
@base_scope = base_scope
|
9
|
+
end
|
10
|
+
|
11
|
+
def clean_revoked
|
12
|
+
@base_scope
|
13
|
+
.where(::Sequel.~(revoked_at: nil))
|
14
|
+
.where { revoked_at < Time.current }
|
15
|
+
.delete
|
16
|
+
end
|
17
|
+
|
18
|
+
def clean_expired(ttl)
|
19
|
+
@base_scope
|
20
|
+
.where { created_at < (Time.current - ttl) }
|
21
|
+
.delete
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -36,6 +36,9 @@ DB.create_table :oauth_access_grants do
|
|
36
36
|
column :created_at, DateTime, null: false
|
37
37
|
column :revoked_at, DateTime
|
38
38
|
column :scopes, String, size: 255
|
39
|
+
|
40
|
+
column :code_challenge, String
|
41
|
+
column :code_challenge_method, String
|
39
42
|
end
|
40
43
|
|
41
44
|
DB.create_table :oauth_access_tokens do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: doorkeeper-sequel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nikita Bulai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: doorkeeper
|
@@ -16,20 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
- - "<"
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: '5.0'
|
19
|
+
version: 5.0.0
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
24
|
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
30
|
-
- - "<"
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '5.0'
|
26
|
+
version: 5.0.0
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: sequel
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -90,6 +84,20 @@ dependencies:
|
|
90
84
|
- - "<"
|
91
85
|
- !ruby/object:Gem::Version
|
92
86
|
version: '6'
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
name: coveralls
|
89
|
+
requirement: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
type: :development
|
95
|
+
prerelease: false
|
96
|
+
version_requirements: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
93
101
|
- !ruby/object:Gem::Dependency
|
94
102
|
name: grape
|
95
103
|
requirement: !ruby/object:Gem::Requirement
|
@@ -215,11 +223,13 @@ files:
|
|
215
223
|
- lib/doorkeeper-sequel/generators/concerns/migration_actions.rb
|
216
224
|
- lib/doorkeeper-sequel/generators/confidential_applications_generator.rb
|
217
225
|
- lib/doorkeeper-sequel/generators/migration_generator.rb
|
226
|
+
- lib/doorkeeper-sequel/generators/pkce_generator.rb
|
218
227
|
- lib/doorkeeper-sequel/generators/previous_refresh_token_generator.rb
|
219
228
|
- lib/doorkeeper-sequel/generators/templates/add_confidential_to_application_migration.rb
|
220
229
|
- lib/doorkeeper-sequel/generators/templates/add_owner_to_application.rb
|
221
230
|
- lib/doorkeeper-sequel/generators/templates/add_previous_refresh_token_to_access_tokens.rb
|
222
231
|
- lib/doorkeeper-sequel/generators/templates/create_doorkeeper_tables.rb
|
232
|
+
- lib/doorkeeper-sequel/generators/templates/enable_pkce_migration.rb
|
223
233
|
- lib/doorkeeper-sequel/mixins/access_grant_mixin.rb
|
224
234
|
- lib/doorkeeper-sequel/mixins/access_token_mixin.rb
|
225
235
|
- lib/doorkeeper-sequel/mixins/application_mixin.rb
|
@@ -233,13 +243,15 @@ files:
|
|
233
243
|
- lib/doorkeeper/orm/sequel/access_grant.rb
|
234
244
|
- lib/doorkeeper/orm/sequel/access_token.rb
|
235
245
|
- lib/doorkeeper/orm/sequel/application.rb
|
236
|
-
-
|
246
|
+
- lib/doorkeeper/orm/sequel/stale_records_cleaner.rb
|
247
|
+
- spec/controllers/application_metal_controller_spec.rb
|
237
248
|
- spec/controllers/applications_controller_spec.rb
|
238
249
|
- spec/controllers/authorizations_controller_spec.rb
|
239
250
|
- spec/controllers/protected_resources_controller_spec.rb
|
240
251
|
- spec/controllers/token_info_controller_spec.rb
|
241
252
|
- spec/controllers/tokens_controller_spec.rb
|
242
253
|
- spec/dummy/Rakefile
|
254
|
+
- spec/dummy/app/assets/config/manifest.js
|
243
255
|
- spec/dummy/app/controllers/application_controller.rb
|
244
256
|
- spec/dummy/app/controllers/custom_authorizations_controller.rb
|
245
257
|
- spec/dummy/app/controllers/full_protected_resources_controller.rb
|
@@ -271,7 +283,8 @@ files:
|
|
271
283
|
- spec/dummy/db/migrate/20151223192035_create_doorkeeper_tables.rb
|
272
284
|
- spec/dummy/db/migrate/20151223200000_add_owner_to_application.rb
|
273
285
|
- spec/dummy/db/migrate/20160320211015_add_previous_refresh_token_to_access_tokens.rb
|
274
|
-
- spec/dummy/db/migrate/
|
286
|
+
- spec/dummy/db/migrate/20170822064514_enable_pkce.rb
|
287
|
+
- spec/dummy/db/migrate/20180210183654_add_confidential_to_applications.rb
|
275
288
|
- spec/dummy/db/schema.rb
|
276
289
|
- spec/dummy/log/test.log
|
277
290
|
- spec/dummy/public/404.html
|
@@ -280,47 +293,43 @@ files:
|
|
280
293
|
- spec/dummy/public/favicon.ico
|
281
294
|
- spec/dummy/script/rails
|
282
295
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/0p/0pa3wNbGHqFC6gxrMvdOJiP6gPwFv9VJ_npjEfRWxAE.cache
|
283
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
296
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/2C/2C9t8HfJg90nE6MPdwPjat-x10FoGiWgZPUw9kmsPsI.cache
|
284
297
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/3P/3PoguHEOEeItUjmwC74MWLLP-_Ijow7798bF5U6K2dw.cache
|
285
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/4Q/4QEkO7sOQsz2KI7mJWxhmltotR8iDKMhV-8Gui8l1Yo.cache
|
286
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/4_/4_AVHXD_fQP3S2gUiYF1Azv90b6luuMnAM0hxD901y0.cache
|
287
298
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/6b/6b0anrSo7Fvoc05t4Ca0zZmfS_cpERy1DsG3ea6lBOg.cache
|
288
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
289
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
299
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/7L/7LMxo1fRhQsTzTk4HEOKaKrXZZ6W6h1y3NP1bitM7ZQ.cache
|
300
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/7q/7q9VgVs--Akr7g5EzfwMMjm7kzT9nfzupV_6i1iZ2UM.cache
|
290
301
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/BA/BAC3ZaGoeZ9Od-kKg-UQYelvRgsCa0H72-52nLdcTNw.cache
|
302
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/BP/BPg8R8WCRaQjKyU4cbh_OtZKlqrO3SNih8XEK6HFgt0.cache
|
291
303
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Bw/Bw6Nimjvy5Yv1AYbZb1t-v0eMNhv-bhwBzR-b5mY7FU.cache
|
304
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/E5/E5sdePtlY78DzZGK0ss7hIguFKUxwdooY8WiM3BWo3s.cache
|
292
305
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Fq/FqQWjMAz8yjZQlMC_dUsztaOxGruI2IXyGAAUF9SvQ0.cache
|
293
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
294
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Ht/HtCMc1ZaTgZy2o1DFs1PbbISOEzOsyW0aFFkquK8ywY.cache
|
306
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Hn/HnZczabSGuPuyZkh8kkTVR9fsNh_10o7xc5uzxcm-6Y.cache
|
295
307
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/J_/J_D9clwKidN28hnVB1O3zEfKDwg90Usdb5ToKiPq_aw.cache
|
296
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Jg/JgpBOeANnJqUX61iOsyq9gnH5CdODzg18IvAQYJC_PE.cache
|
297
308
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Ji/JitNKkP1dYdu9ObSdIkkEAsiFxEmRO5oy1UIyhT_hYs.cache
|
298
309
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Jq/JqTLVvnY2AgGkHftWPwqt_HkbwhYRsmgHxk37VqKJAY.cache
|
299
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
300
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/LF/LF3zCtek7hbLgoNRiXnEYsN9BkXVGw5dqB2W-pALTcU.cache
|
310
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Pk/PkX2fMYiAxTYc9kX4pFVXseR-CdZmnpWX7GniCMQHO0.cache
|
301
311
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/QX/QXcp8DweOJ6BfMedGMfeHvVXv2hjDIleln1LSJk7vOE.cache
|
302
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
303
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/T3/T3h82qJsdqVlH178VSlblhU1evf9RZq83rqKMwjdRKI.cache
|
312
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Rg/RgtUEkFKU-oi_LZ0R-kXz4SfnJIf_pEG-BwRK2Jc0v0.cache
|
304
313
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Ta/TaYxNn81MhqC3DnMC6_y_Q7xap5Ntn4ggFo94EUaiak.cache
|
305
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
314
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/W7/W7gU40NzeL-YSA7WVWNmHkpNN8cocSrXN6iD-0EJwfw.cache
|
306
315
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Wq/WqbLVKOcTMZtttygYt_ncr1mGIDrzevSTaPGNmzV1D8.cache
|
316
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Xv/Xvu9wgL0ZoJUg40hTfJ7VEhswxHSZTFqafJONsalmSo.cache
|
307
317
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/YF/YF60qiQ28QMoYDrLmrbHWZr7X7bl5MxVPR5QrrVCFak.cache
|
308
318
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Yf/YfJJZvm_NONHd4eCasDibCcRapZ_WYIO5MUxSUUbYFk.cache
|
309
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Yi/YigT9tpj4dQzAx0EBR0E5d3g7wtv9X1Qw7eprYkoeNE.cache
|
310
319
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Z0/Z0e47cT2a-21U-w-3gkbgqC3o5jWnEzOB8vW06aJH1E.cache
|
320
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Z3/Z3pV6hviTFmi6L98n9tVOy94nUUt8X_dSnvO0FqTjzc.cache
|
321
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/_1/_1LQPrIlY8mTaxRd58w68ZBIVwaDge57_fpmw6PKGTI.cache
|
311
322
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/dL/dL7SLUWUIeVdyA1UuH-rvif0nzesOar3LdEtqzdb4bE.cache
|
312
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
323
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/ej/ej1aKu26DikNnd9272jY2Y2o4C3QI2B1JdZhdPTQvA4.cache
|
313
324
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/f8/f8WT8jqR1qNIdQaRDpXbyLN7E5AWkbYFBwdh9Ozk7gk.cache
|
314
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/fX/fXlPiyPj8HG3QoJDYpup0DTLBnq8hw6Np2VeMHWKuaQ.cache
|
315
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/g5/g5VAxZ-YK0jKJukhexFCoUQqI2yLS1eOYNbU__THPvo.cache
|
316
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/hU/hUU3IwUkZwk7JZj3LvnwlHPmwPh0Dz9B2Fv0aj17VJw.cache
|
317
325
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/hk/hk2YB6skvc72qL4IzzQKU8Emyfe5vARjoD1bvQTw4zE.cache
|
318
326
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/ii/iiJRBZIsxKiwyzU_Z7UtQeUTXMRJRPTreTKRvAWO7_8.cache
|
319
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
320
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
327
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/mx/mxO2JNHTQy9FY1xVYenKUIupjGyjFgEKhw7bF6oYCes.cache
|
328
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/pA/pAXzgvvIc7N1TYHmLtkgkRI_Nj58_VIMBT8CSRxDg5A.cache
|
321
329
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/qo/qo6SpT75QykYB63Aqq5bgzpXyNU1Y4dGFvCCJgoWQpE.cache
|
322
330
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/vO/vOXN0mER62j4JiPpMTSVS7MMqs0067cZx14vD5B8qiQ.cache
|
323
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
331
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/x1/x1j1iA1FTi7zaePBRFSuc5hzG2jhJ0Otdn8LnC-PHvU.cache
|
332
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/zI/zIwTd39w92Mk6c86cODQlqHM3ymkZwY8N6Ee2plkTKg.cache
|
324
333
|
- spec/factories.rb
|
325
334
|
- spec/generators/templates/routes.rb
|
326
335
|
- spec/generators/tmp/dummy/app/views/doorkeeper/applications/_delete_form.html.erb
|
@@ -372,6 +381,7 @@ files:
|
|
372
381
|
- spec/lib/oauth/token_spec.rb
|
373
382
|
- spec/lib/request/strategy_spec.rb
|
374
383
|
- spec/lib/server_spec.rb
|
384
|
+
- spec/lib/stale_records_cleaner_spec.rb
|
375
385
|
- spec/models/doorkeeper/access_grant_spec.rb
|
376
386
|
- spec/models/doorkeeper/access_token_spec.rb
|
377
387
|
- spec/models/doorkeeper/application_spec.rb
|
@@ -401,7 +411,8 @@ files:
|
|
401
411
|
- spec/stubs/models/user.rb
|
402
412
|
- spec/stubs/spec_helper_integration.rb
|
403
413
|
- spec/stubs/support/sequel.rb
|
404
|
-
- spec/support/dependencies/
|
414
|
+
- spec/support/dependencies/factory_bot.rb
|
415
|
+
- spec/support/doorkeeper_rspec.rb
|
405
416
|
- spec/support/helpers/access_token_request_helper.rb
|
406
417
|
- spec/support/helpers/authorization_request_helper.rb
|
407
418
|
- spec/support/helpers/config_helper.rb
|
@@ -457,6 +468,7 @@ test_files:
|
|
457
468
|
- spec/generators/tmp/dummy/app/views/doorkeeper/applications/_form.html.erb
|
458
469
|
- spec/generators/templates/routes.rb
|
459
470
|
- spec/support/http_method_shim.rb
|
471
|
+
- spec/support/doorkeeper_rspec.rb
|
460
472
|
- spec/support/shared/models_shared_examples.rb
|
461
473
|
- spec/support/shared/controllers_shared_context.rb
|
462
474
|
- spec/support/orm/sequel.rb
|
@@ -467,7 +479,7 @@ test_files:
|
|
467
479
|
- spec/support/helpers/request_spec_helper.rb
|
468
480
|
- spec/support/helpers/access_token_request_helper.rb
|
469
481
|
- spec/support/helpers/authorization_request_helper.rb
|
470
|
-
- spec/support/dependencies/
|
482
|
+
- spec/support/dependencies/factory_bot.rb
|
471
483
|
- spec/stubs/generators/tmp/dummy/db/migrate/20170810125729_add_previous_refresh_token_to_access_tokens.rb
|
472
484
|
- spec/stubs/support/sequel.rb
|
473
485
|
- spec/stubs/models/user.rb
|
@@ -484,52 +496,49 @@ test_files:
|
|
484
496
|
- spec/dummy/public/favicon.ico
|
485
497
|
- spec/dummy/public/404.html
|
486
498
|
- spec/dummy/public/500.html
|
487
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
488
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
499
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/7L/7LMxo1fRhQsTzTk4HEOKaKrXZZ6W6h1y3NP1bitM7ZQ.cache
|
500
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Pk/PkX2fMYiAxTYc9kX4pFVXseR-CdZmnpWX7GniCMQHO0.cache
|
501
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Xv/Xvu9wgL0ZoJUg40hTfJ7VEhswxHSZTFqafJONsalmSo.cache
|
489
502
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/BA/BAC3ZaGoeZ9Od-kKg-UQYelvRgsCa0H72-52nLdcTNw.cache
|
490
503
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/hk/hk2YB6skvc72qL4IzzQKU8Emyfe5vARjoD1bvQTw4zE.cache
|
491
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
492
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
493
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
494
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
504
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/x1/x1j1iA1FTi7zaePBRFSuc5hzG2jhJ0Otdn8LnC-PHvU.cache
|
505
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/7q/7q9VgVs--Akr7g5EzfwMMjm7kzT9nfzupV_6i1iZ2UM.cache
|
506
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/mx/mxO2JNHTQy9FY1xVYenKUIupjGyjFgEKhw7bF6oYCes.cache
|
507
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/BP/BPg8R8WCRaQjKyU4cbh_OtZKlqrO3SNih8XEK6HFgt0.cache
|
495
508
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Ta/TaYxNn81MhqC3DnMC6_y_Q7xap5Ntn4ggFo94EUaiak.cache
|
496
509
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Yf/YfJJZvm_NONHd4eCasDibCcRapZ_WYIO5MUxSUUbYFk.cache
|
497
510
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/3P/3PoguHEOEeItUjmwC74MWLLP-_Ijow7798bF5U6K2dw.cache
|
498
511
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Jq/JqTLVvnY2AgGkHftWPwqt_HkbwhYRsmgHxk37VqKJAY.cache
|
512
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Rg/RgtUEkFKU-oi_LZ0R-kXz4SfnJIf_pEG-BwRK2Jc0v0.cache
|
499
513
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Wq/WqbLVKOcTMZtttygYt_ncr1mGIDrzevSTaPGNmzV1D8.cache
|
500
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/wC/wCg1fNgvPgN-FNalk0y-pOrMrUUVpjjG_3jLzh3J29I.cache
|
501
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/lx/lxLzW5UwcFlFj1MV5uZ_icpe7sCVc6_WUMMLMqUqbzQ.cache
|
502
514
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/YF/YF60qiQ28QMoYDrLmrbHWZr7X7bl5MxVPR5QrrVCFak.cache
|
515
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Hn/HnZczabSGuPuyZkh8kkTVR9fsNh_10o7xc5uzxcm-6Y.cache
|
503
516
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/vO/vOXN0mER62j4JiPpMTSVS7MMqs0067cZx14vD5B8qiQ.cache
|
504
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
505
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
517
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/ej/ej1aKu26DikNnd9272jY2Y2o4C3QI2B1JdZhdPTQvA4.cache
|
518
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/E5/E5sdePtlY78DzZGK0ss7hIguFKUxwdooY8WiM3BWo3s.cache
|
506
519
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/f8/f8WT8jqR1qNIdQaRDpXbyLN7E5AWkbYFBwdh9Ozk7gk.cache
|
507
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Yi/YigT9tpj4dQzAx0EBR0E5d3g7wtv9X1Qw7eprYkoeNE.cache
|
508
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/6k/6kyl2zElqd6QNgJLE7Ej-F9Xofwmq0OiAIJTHGtoCt8.cache
|
509
520
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/6b/6b0anrSo7Fvoc05t4Ca0zZmfS_cpERy1DsG3ea6lBOg.cache
|
510
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
511
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
512
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Hc/HcIx4yYPg3w0vv-Cj49orJw9fudDS4Qpe3WXtuej7MI.cache
|
521
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/_1/_1LQPrIlY8mTaxRd58w68ZBIVwaDge57_fpmw6PKGTI.cache
|
522
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Z3/Z3pV6hviTFmi6L98n9tVOy94nUUt8X_dSnvO0FqTjzc.cache
|
513
523
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Z0/Z0e47cT2a-21U-w-3gkbgqC3o5jWnEzOB8vW06aJH1E.cache
|
514
524
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/ii/iiJRBZIsxKiwyzU_Z7UtQeUTXMRJRPTreTKRvAWO7_8.cache
|
515
525
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/0p/0pa3wNbGHqFC6gxrMvdOJiP6gPwFv9VJ_npjEfRWxAE.cache
|
526
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/W7/W7gU40NzeL-YSA7WVWNmHkpNN8cocSrXN6iD-0EJwfw.cache
|
516
527
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/QX/QXcp8DweOJ6BfMedGMfeHvVXv2hjDIleln1LSJk7vOE.cache
|
517
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
528
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/pA/pAXzgvvIc7N1TYHmLtkgkRI_Nj58_VIMBT8CSRxDg5A.cache
|
518
529
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Bw/Bw6Nimjvy5Yv1AYbZb1t-v0eMNhv-bhwBzR-b5mY7FU.cache
|
519
530
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Fq/FqQWjMAz8yjZQlMC_dUsztaOxGruI2IXyGAAUF9SvQ0.cache
|
520
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/
|
521
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/9D/9DkYxrjE-y5KTPxxIo5Zs3AOaylSDDJPPWbghYbc6tA.cache
|
522
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/g5/g5VAxZ-YK0jKJukhexFCoUQqI2yLS1eOYNbU__THPvo.cache
|
531
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/2C/2C9t8HfJg90nE6MPdwPjat-x10FoGiWgZPUw9kmsPsI.cache
|
523
532
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/J_/J_D9clwKidN28hnVB1O3zEfKDwg90Usdb5ToKiPq_aw.cache
|
524
533
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/dL/dL7SLUWUIeVdyA1UuH-rvif0nzesOar3LdEtqzdb4bE.cache
|
525
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/f1/f11L16ip-n_en5vxM7LnyFPv_A9VDsPUKXzg-hDG0dE.cache
|
526
|
-
- spec/dummy/tmp/cache/assets/sprockets/v3.0/4_/4_AVHXD_fQP3S2gUiYF1Azv90b6luuMnAM0hxD901y0.cache
|
527
534
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/Ji/JitNKkP1dYdu9ObSdIkkEAsiFxEmRO5oy1UIyhT_hYs.cache
|
535
|
+
- spec/dummy/tmp/cache/assets/sprockets/v3.0/zI/zIwTd39w92Mk6c86cODQlqHM3ymkZwY8N6Ee2plkTKg.cache
|
528
536
|
- spec/dummy/tmp/cache/assets/sprockets/v3.0/qo/qo6SpT75QykYB63Aqq5bgzpXyNU1Y4dGFvCCJgoWQpE.cache
|
529
537
|
- spec/dummy/app/views/home/index.html.erb
|
530
538
|
- spec/dummy/app/views/layouts/application.html.erb
|
531
539
|
- spec/dummy/app/models/user.rb
|
532
540
|
- spec/dummy/app/helpers/application_helper.rb
|
541
|
+
- spec/dummy/app/assets/config/manifest.js
|
533
542
|
- spec/dummy/app/controllers/metal_controller.rb
|
534
543
|
- spec/dummy/app/controllers/full_protected_resources_controller.rb
|
535
544
|
- spec/dummy/app/controllers/home_controller.rb
|
@@ -540,10 +549,11 @@ test_files:
|
|
540
549
|
- spec/dummy/config.ru
|
541
550
|
- spec/dummy/script/rails
|
542
551
|
- spec/dummy/db/schema.rb
|
552
|
+
- spec/dummy/db/migrate/20170822064514_enable_pkce.rb
|
543
553
|
- spec/dummy/db/migrate/20120312140401_add_password_to_users.rb
|
544
554
|
- spec/dummy/db/migrate/20111122132257_create_users.rb
|
545
|
-
- spec/dummy/db/migrate/20180210183654_add_confidential_to_application.rb
|
546
555
|
- spec/dummy/db/migrate/20151223200000_add_owner_to_application.rb
|
556
|
+
- spec/dummy/db/migrate/20180210183654_add_confidential_to_applications.rb
|
547
557
|
- spec/dummy/db/migrate/20160320211015_add_previous_refresh_token_to_access_tokens.rb
|
548
558
|
- spec/dummy/db/migrate/20151223192035_create_doorkeeper_tables.rb
|
549
559
|
- spec/dummy/config/environment.rb
|
@@ -587,6 +597,7 @@ test_files:
|
|
587
597
|
- spec/lib/models/revocable_spec.rb
|
588
598
|
- spec/lib/server_spec.rb
|
589
599
|
- spec/lib/doorkeeper_spec.rb
|
600
|
+
- spec/lib/stale_records_cleaner_spec.rb
|
590
601
|
- spec/lib/config_spec.rb
|
591
602
|
- spec/lib/oauth/code_response_spec.rb
|
592
603
|
- spec/lib/oauth/scopes_spec.rb
|
@@ -620,6 +631,6 @@ test_files:
|
|
620
631
|
- spec/controllers/authorizations_controller_spec.rb
|
621
632
|
- spec/controllers/protected_resources_controller_spec.rb
|
622
633
|
- spec/controllers/token_info_controller_spec.rb
|
623
|
-
- spec/controllers/
|
634
|
+
- spec/controllers/application_metal_controller_spec.rb
|
624
635
|
- spec/spec_helper.rb
|
625
636
|
- spec/grape/grape_integration_spec.rb
|