Skip to content

Commit 3cc2983

Browse files
authored
fix: lazy constantize relation resources (#492)
1 parent 20b80dd commit 3cc2983

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

lib/graphiti/sideload.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def initialize(name, opts)
2121
@name = name
2222
validate_options!(opts)
2323
@parent_resource_class = opts[:parent_resource]
24-
@resource_class = opts[:resource]
24+
@resource_class_name = opts[:resource]
2525
@primary_key = opts[:primary_key]
2626
@foreign_key = opts[:foreign_key]
2727
@type = opts[:type]
@@ -177,7 +177,8 @@ def association_name
177177
end
178178

179179
def resource_class
180-
@resource_class ||= infer_resource_class
180+
@resource_class ||= (@resource_class_name.is_a?(String) ? @resource_class_name.constantize : @resource_class_name) ||
181+
infer_resource_class
181182
end
182183

183184
def scope(parents)

spec/fixtures/legacy.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ class TagResource < ApplicationResource
225225
end
226226

227227
class UserResource < ApplicationResource
228+
has_many :my_books, resource: "Legacy::BookResource"
228229
end
229230

230231
class BookResource < ApplicationResource

0 commit comments

Comments
 (0)