lib/valkyrie/persistence/custom_query_container.rb in valkyrie-3.0.0.pre.beta.2 vs lib/valkyrie/persistence/custom_query_container.rb in valkyrie-3.0.0.pre.beta.3
- old
+ new
@@ -44,11 +44,17 @@
def register_query_handler(query_handler)
query_handler.queries.each do |query|
handler = query_handler.new(query_service: query_service)
query_handlers[query.to_sym] = handler
- define_singleton_method query do |*args, &block|
- query_handlers[query.to_sym].__send__(query, *args, &block)
+ define_singleton_method query do |*args, **kwargs, &block|
+ if kwargs.empty?
+ # This case needs to be specially handled in Ruby 2.6, or else an
+ # empty hash will be passed as the final argument.
+ query_handlers[query.to_sym].__send__(query, *args, &block)
+ else
+ query_handlers[query.to_sym].__send__(query, *args, **kwargs, &block)
+ end
end
end
end
end
end