class GraphQL::Searchkick::SearchableExtension

Public Instance Methods

apply() click to toggle source
# File lib/graphql/searchkick/searchable_extension.rb, line 8
def apply
  field.argument(:query, String, required: false, description: 'A search query')
end
resolve(object:, arguments:, context:) { |object, next_args| ... } click to toggle source
# File lib/graphql/searchkick/searchable_extension.rb, line 12
def resolve(object:, arguments:, context:)
  next_args = arguments.dup
  result = yield(object, next_args)

  if defined?(ActiveRecord::Relation) && result.is_a?(ActiveRecord::Relation)
    result
  else
    model = options[:model_class]
    LazySearch.new(result, query: next_args[:query], model_class: model)
  end
end