Skip to content

Commit c5b220d

Browse files
Copilotnbulaj
andcommitted
Wrap access_grant_model prepend in ActiveSupport.on_load to fix doorkeeper master compatibility
Agent-Logs-Url: https://github.com/doorkeeper-gem/doorkeeper-openid_connect/sessions/3bd0d488-d252-45df-af57-b71509b8e6d5 Co-authored-by: nbulaj <1443426+nbulaj@users.noreply.github.com>
1 parent 225e319 commit c5b220d

3 files changed

Lines changed: 12 additions & 9 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## Unreleased
22

33
- Please add here
4+
- [#241] Fix NameError on doorkeeper master by deferring AR model loading in run_hooks
45

56
## v1.9.0 (2026-03-16)
67

lib/doorkeeper/openid_connect/orm/active_record.rb

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,17 @@ module Mixins
1616
def run_hooks
1717
super
1818

19-
if Gem.loaded_specs['doorkeeper'].version >= Gem::Version.create('5.5.0')
20-
Doorkeeper.config.access_grant_model.prepend Doorkeeper::OpenidConnect::AccessGrant
21-
else
22-
Doorkeeper::AccessGrant.prepend Doorkeeper::OpenidConnect::AccessGrant
23-
end
19+
ActiveSupport.on_load(:active_record) do
20+
if Gem.loaded_specs['doorkeeper'].version >= Gem::Version.create('5.5.0')
21+
Doorkeeper.config.access_grant_model.prepend Doorkeeper::OpenidConnect::AccessGrant
22+
else
23+
Doorkeeper::AccessGrant.prepend Doorkeeper::OpenidConnect::AccessGrant
24+
end
2425

25-
if Doorkeeper.configuration.respond_to?(:active_record_options) && Doorkeeper.configuration.active_record_options[:establish_connection]
26-
[Doorkeeper::OpenidConnect.configuration.open_id_request_model].each do |c|
27-
c.send :establish_connection, Doorkeeper.configuration.active_record_options[:establish_connection]
26+
if Doorkeeper.configuration.respond_to?(:active_record_options) && Doorkeeper.configuration.active_record_options[:establish_connection]
27+
[Doorkeeper::OpenidConnect.configuration.open_id_request_model].each do |c|
28+
c.send :establish_connection, Doorkeeper.configuration.active_record_options[:establish_connection]
29+
end
2830
end
2931
end
3032
end

spec/models/access_grant_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
require 'rails_helper'
44

55
describe Doorkeeper::OpenidConnect::AccessGrant do
6-
subject { Doorkeeper::AccessGrant.new }
6+
subject { Doorkeeper.config.access_grant_model.new }
77
let(:openid_request_class_name) { Doorkeeper::OpenidConnect.configuration.open_id_request_class }
88
let(:openid_request_class) { Doorkeeper::OpenidConnect.configuration.open_id_request_model }
99

0 commit comments

Comments
 (0)