module SearchEnjoy::Searching::ClassMethods

Public Instance Methods

search_must(*args) click to toggle source
# File lib/search_enjoy/searching.rb, line 102
def search_must(*args)
  raise SearchException, 'Forbidden use Query in search_must' if args.first.instance_of? Query

  query = Query.new(args.first, must: true)

  result = search(query, args[1..])

  QueryResult.new(self, result)
rescue StandardError => e
  e.message
end
search_must_not(*args) click to toggle source
# File lib/search_enjoy/searching.rb, line 114
def search_must_not(*args)
  raise SearchException, 'Forbidden use Query in search_must_not' if args.first.instance_of? Query

  query = Query.new(args.first, inverse: true)

  result = search(query, args[1..])

  QueryResult.new(self, result)
rescue StandardError => e
  e.message
end
search_not(*args) click to toggle source
# File lib/search_enjoy/searching.rb, line 90
def search_not(*args)
  query = if args.first.instance_of? Query
            args.first.inverse!
          else
            Query.new(args.first, must: true, inverse: true)
          end

  result = search(query, args[1..])

  QueryResult.new(self, result)
end