From d3e974855f7e772b5df43f665a2251a1982cfff0 Mon Sep 17 00:00:00 2001 From: Chris Salzberg Date: Sat, 27 May 2017 22:03:42 +0900 Subject: [PATCH] Avoid using respond_to? on a relation, since it memoizes an arel object --- lib/mobility/backend/active_record/query_methods.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mobility/backend/active_record/query_methods.rb b/lib/mobility/backend/active_record/query_methods.rb index 122391df3..b9ba6b3ac 100644 --- a/lib/mobility/backend/active_record/query_methods.rb +++ b/lib/mobility/backend/active_record/query_methods.rb @@ -20,7 +20,7 @@ def initialize(attributes, **_) # @note Only want to define this once, even if multiple QueryMethods # modules are included, so define it here in extended method def extended(relation) - unless relation.respond_to?(:mobility_where_chain) + unless relation.methods(false).include?(:mobility_where_chain) relation.define_singleton_method(:mobility_where_chain) do @mobility_where_chain ||= Class.new(::ActiveRecord::QueryMethods::WhereChain) end