class 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 = ::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