Parent

Files

CouchRest::Server

Attributes

available_databases[RW]
uri[RW]
uuid_batch_count[RW]

Public Class Methods

new(server = 'http://127.0.0.1:5984', uuid_batch_count = 1000) click to toggle source
# File lib/couchrest/server.rb, line 6
def initialize(server = 'http://127.0.0.1:5984', uuid_batch_count = 1000)
  @uri = server
  @uuid_batch_count = uuid_batch_count
end

Public Instance Methods

available_database?(ref_or_name) click to toggle source

Checks that a database is set as available

Example:

@couch.available_database?(:default)

# File lib/couchrest/server.rb, line 36
def available_database?(ref_or_name)
  ref_or_name.is_a?(Symbol) ? available_databases.keys.include?(ref_or_name) : available_databases.values.map{|db| db.name}.include?(ref_or_name)
end
create_db(name) click to toggle source

Create a database

# File lib/couchrest/server.rb, line 72
def create_db(name)
  CouchRest.put "#{@uri}/#{name}"
  database(name)
end
database(name) click to toggle source

Returns a CouchRest::Database for the given name

# File lib/couchrest/server.rb, line 54
def database(name)
  CouchRest::Database.new(self, name)
end
database!(name) click to toggle source

Creates the database if it doesn’t exist

# File lib/couchrest/server.rb, line 59
def database!(name)
  CouchRest.head "#{@uri}/#{name}" # Check if the URL is valid
  database(name)
rescue RestClient::ResourceNotFound # Thrown if the HTTP HEAD fails
  create_db(name)
end
databases() click to toggle source

Lists all databases on the server

# File lib/couchrest/server.rb, line 49
def databases
  CouchRest.get "#{@uri}/_all_dbs"
end
default_database() click to toggle source
# File lib/couchrest/server.rb, line 44
def default_database
  available_databases[:default]
end
default_database=(name, create_unless_exists = true) click to toggle source
# File lib/couchrest/server.rb, line 40
def default_database=(name, create_unless_exists = true)
  define_available_database(:default, name, create_unless_exists = true)
end
define_available_database(reference, db_name, create_unless_exists = true) click to toggle source

Adds a new available database and create it unless it already exists

Example:

@couch = CouchRest::Server.new @couch.define_available_database(:default, “tech-blog”)

# File lib/couchrest/server.rb, line 26
def define_available_database(reference, db_name, create_unless_exists = true)
  available_databases[reference.to_sym] = create_unless_exists ? database!(db_name) : database(db_name)
end
info() click to toggle source

GET the welcome message

# File lib/couchrest/server.rb, line 67
def info
  CouchRest.get "#{@uri}/"
end
next_uuid(count = @uuid_batch_count) click to toggle source

Retrive an unused UUID from CouchDB. Server instances manage caching a list of unused UUIDs.

# File lib/couchrest/server.rb, line 83
def next_uuid(count = @uuid_batch_count)
  @uuids ||= []
  if @uuids.empty?
    @uuids = CouchRest.get("#{@uri}/_uuids?count=#{count}")["uuids"]
  end
  @uuids.pop
end
restart!() click to toggle source

Restart the CouchDB instance

# File lib/couchrest/server.rb, line 78
def restart!
  CouchRest.post "#{@uri}/_restart"
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.