You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: standard_query.rb
    path of file: ./repos/sunspot/sunspot/lib/sunspot/dsl
    
    the code of the file until where you have to start completion: module Sunspot
  module DSL #:nodoc:
    #
    # This class presents a DSL for constructing queries using the
    # Sunspot.search method. Methods of this class are available inside the
    # search block. Much of the DSL's functionality is implemented by this
    # class's superclasses, Sunspot::DSL::FieldQuery and Sunspot::DSL::Scope
    #
    # See Sunspot.search for usage examples
    #
    class StandardQuery < FieldQuery
      include Paginatable, Adjustable, Spellcheckable, Functional

      # Specify a phrase 
    
      def fulltext(keywords, options = {}, &block)
        return if not keywords or keywords.to_s =~ /^\s*$/

        field_names = Util.Array(options.delete(:fields)).compact

        add_fulltext(keywords, field_names) do |query, fields|
          query.minimum_match = options.delete(:minimum_match).to_i if options.key?(:minimum_match)
          query.tie = options.delete(:tie).to_f if options.key?(:tie)
          query.query_phrase_slop = options.delete(:query_phrase_slop).to_i if options.key?(:query_phrase_slop)

          if highlight_field_names = options.delete(:highlight)
            if highlight_field_names == true
              query.add_highlight
            else
              highlight_fields = []
              Util.Array(highlight_field_names).each do |field_name|
                highlight_fields.concat(@setup.text_fields(field_name))
              end
              query.add_highlight(highlight_fields)
            end
          end