228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
|
# File 'lib/puppeteer/query_handler_manager.rb', line 228
def detect_query_handler(selector)
unless /^[a-zA-Z]+\// =~ selector
return Result.new(
query_handler: default_handler,
selector: selector,
)
end
chunk = selector.split("/")
name = chunk.shift
updated_selector = chunk.join("/")
query_handler = query_handlers[name.to_sym]
unless query_handler
raise ArgumentError.new("Query set to use \"#{name}\", but no query handler of that name was found")
end
Result.new(
query_handler: query_handler,
selector: updated_selector,
)
end
|