create (Borges::DRbServer)

    # File lib/Borges/DRbServer.rb, line 40
      def self.create
        DRb.start_service

        provide_tried = false

        begin
          ::Rinda::RingFinger.new.lookup_ring_any # test for RingServer

        rescue RuntimeError => e
          # HACK: ugly, ugly, make RingNotFound an Exception subclass
          if e.message == 'RingNotFound' and not provide_tried then
            STDERR.puts "Spawning RingServer"

            provide_tried = true
            self.daemonize do
              require 'rinda/tuplespace'

              $0 = 'Borges RingServer'

              DRb.start_service

              Rinda::RingServer.new Rinda::TupleSpace.new

              DRb.thread.join
            end

            sleep 1
            retry
          else
            raise "Unable to start RingServer"
          end
        end

        borges_server = self.new

        service = ::Rinda::RingProvider.new :Borges, borges_server,
                                            "Borges Server"
        service.provide

        return borges_server
      end