@@ -20,11 +20,7 @@ def locate(gid, options = {})
20
20
gid = GlobalID . parse ( gid )
21
21
return unless gid && find_allowed? ( gid . model_class , options [ :only ] )
22
22
23
- if locator_for ( gid ) . method ( :locate ) . arity == 1
24
- locator_for ( gid ) . locate ( gid )
25
- else
26
- locator_for ( gid ) . locate ( gid , options . except ( :only ) )
27
- end
23
+ locator_for ( gid ) . locate ( gid , options . except ( :only ) )
28
24
end
29
25
30
26
# Takes an array of GlobalIDs or strings that can be turned into a GlobalIDs.
@@ -106,7 +102,7 @@ def locate_many_signed(sgids, options = {})
106
102
#
107
103
# Using a block:
108
104
#
109
- # GlobalID::Locator.use :foo do |gid|
105
+ # GlobalID::Locator.use :foo do |gid, options |
110
106
# FooRemote.const_get(gid.model_name).find(gid.model_id)
111
107
# end
112
108
#
@@ -115,7 +111,7 @@ def locate_many_signed(sgids, options = {})
115
111
# GlobalID::Locator.use :bar, BarLocator.new
116
112
#
117
113
# class BarLocator
118
- # def locate(gid)
114
+ # def locate(gid, options = {} )
119
115
# @search_client.search name: gid.model_name, id: gid.model_id
120
116
# end
121
117
# end
@@ -151,7 +147,7 @@ def normalize_app(app)
151
147
class BaseLocator
152
148
def locate ( gid , options = { } )
153
149
model_class = gid . model_class
154
- model_class = model_class . includes ( options [ :includes ] ) if model_class . respond_to? ( :includes )
150
+ model_class = model_class . includes ( options [ :includes ] ) if options [ :includes ]
155
151
156
152
model_class . find gid . model_id
157
153
end
@@ -168,7 +164,7 @@ def locate_many(gids, options = {})
168
164
169
165
private
170
166
def find_records ( model_class , ids , options )
171
- model_class = model_class . includes ( options [ :includes ] ) if model_class . respond_to? ( :includes )
167
+ model_class = model_class . includes ( options [ :includes ] ) if options [ :includes ]
172
168
173
169
if options [ :ignore_missing ]
174
170
model_class . where ( id : ids )
0 commit comments