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: interface.rb
    path of file: ./repos/graphql-ruby/lib/graphql/schema
    
    the code of the file until where you have to start completion: # frozen_string_literal: true
module Gr
    
        def definition_methods(&block)
          # Use an instance variable to tell whether it's been included previously or not;
          # You can't use constant detection because constants are brought into scope
          # by `include`, which has already happened at this point.
          if !defined?(@_definition_methods)
            defn_methods_module = Module.new
            @_definition_methods = defn_methods_module
            const_set(:DefinitionMethods, defn_methods_module)
            extend(self::DefinitionMethods)
          end