Sha256: f84af8db15139a833f78551073ed218d7f70ce40a774b697ec08780cf1e85395

Contents?: true

Size: 1.02 KB

Versions: 6

Compression:

Stored size: 1.02 KB

Contents

module CouchRest
  class Server
    attr_accessor :uri, :uuid_batch_count
    def initialize server = 'http://localhost:5984', uuid_batch_count = 1000
      @uri = server
      @uuid_batch_count = uuid_batch_count
    end
  
    # list all databases on the server
    def databases
      CouchRest.get "#{@uri}/_all_dbs"
    end
  
    def database name
      CouchRest::Database.new(self, name)
    end
  
    # creates the database if it doesn't exist
    def database! name
      create_db(name) rescue nil
      database name
    end
  
    # get the welcome message
    def info
      CouchRest.get "#{@uri}/"
    end

    # create a database
    def create_db name
      CouchRest.put "#{@uri}/#{name}"
      database name
    end

    # restart the couchdb instance
    def restart!
      CouchRest.post "#{@uri}/_restart"
    end

    def next_uuid count = @uuid_batch_count
      @uuids ||= []
      if @uuids.empty?
        @uuids = CouchRest.post("#{@uri}/_uuids?count=#{count}")["uuids"]
      end
      @uuids.pop
    end

  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
jchris-couchrest-0.9.4 lib/couchrest/core/server.rb
jchris-couchrest-0.9.5 lib/couchrest/core/server.rb
jchris-couchrest-0.9.6 lib/couchrest/core/server.rb
jchris-couchrest-0.9.7 lib/couchrest/core/server.rb
jchris-couchrest-0.9.8 lib/couchrest/core/server.rb
topfunky-couchrest-0.9.4 lib/couchrest/core/server.rb