Method: SearchCop::ClassMethods#unsafe_search_cop

Defined in:
lib/search_cop.rb

#unsafe_search_cop(query, scope_name, query_options) ⇒ Object



61
62
63
64
65
66
67
68
69
70
# File 'lib/search_cop.rb', line 61

def unsafe_search_cop(query, scope_name, query_options)
  return respond_to?(:scoped) ? scoped : all if query.blank?

  query_builder = QueryBuilder.new(self, query, search_scopes[scope_name], query_options)

  scope = instance_exec(&search_scopes[scope_name].reflection.scope) if search_scopes[scope_name].reflection.scope
  scope ||= eager_load(query_builder.associations) if query_builder.associations.any?

  (scope || self).where(query_builder.sql)
end