diff --git a/lib/couchrest/core/server.rb b/lib/couchrest/core/server.rb index ea68783..2f46f86 100644 --- a/lib/couchrest/core/server.rb +++ b/lib/couchrest/core/server.rb @@ -2,19 +2,9 @@ module CouchRest class Server attr_accessor :uri, :uuid_batch_count, :available_databases def initialize(server = 'http://127.0.0.1:5984', uuid_batch_count = 1000) - case server - when %r{\A(http://[^/]+)/(.*)\z} - @uri, @prefix = $1, $2 - else - @uri, @prefix = server, "" - end + @uri = server @uuid_batch_count = uuid_batch_count end - - # Add default prefix to database name - def expand(name) - @prefix + name - end # Lists all "available" databases. # An available database, is a database that was specified @@ -42,7 +32,7 @@ module CouchRest # @couch.available_database?(:default) # 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?(expand(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 def default_database=(name, create_unless_exists = true) @@ -55,17 +45,12 @@ module CouchRest # Lists all databases on the server def databases - dbs = CouchRest.get "#{@uri}/_all_dbs" - unless @prefix.empty? - pfx = @prefix.gsub('/','%2F') - dbs.reject! { |db| db.index(pfx) != 0 } - end - dbs + CouchRest.get "#{@uri}/_all_dbs" end # Returns a CouchRest::Database for the given name def database(name) - CouchRest::Database.new(self, expand(name)) + CouchRest::Database.new(self, name) end # Creates the database if it doesn't exist @@ -81,7 +66,7 @@ module CouchRest # Create a database def create_db(name) - CouchRest.put "#{@uri}/#{expand(name).gsub('/','%2F')}" + CouchRest.put "#{@uri}/#{name}" database(name) end diff --git a/spec/couchrest/core/server_spec.rb b/spec/couchrest/core/server_spec.rb index 9c9dad5..5e0f1f7 100644 --- a/spec/couchrest/core/server_spec.rb +++ b/spec/couchrest/core/server_spec.rb @@ -2,36 +2,6 @@ require File.dirname(__FILE__) + '/../../spec_helper' describe CouchRest::Server do - describe "named databases" do - it "should generate database without prefix" do - couch = CouchRest::Server.new "http://192.0.2.1:1234" - db = couch.database("foo") - db.name.should == "foo" - db.uri.should == "http://192.0.2.1:1234/foo" - end - - it "should generate database with prefix" do - couch = CouchRest::Server.new "http://192.0.2.1:1234/dev" - db = couch.database("foo") - db.name.should == "devfoo" - db.uri.should == "http://192.0.2.1:1234/devfoo" - end - - it "should generate database with prefix and slash" do - couch = CouchRest::Server.new "http://192.0.2.1:1234/dev/" - db = couch.database("foo") - db.name.should == "dev/foo" - db.uri.should == "http://192.0.2.1:1234/dev%2Ffoo" - end - - it "should generate database with slashes" do - couch = CouchRest::Server.new "http://192.0.2.1:1234/dev/sample/" - db = couch.database("foo/bar") - db.name.should == "dev/sample/foo/bar" - db.uri.should == "http://192.0.2.1:1234/dev%2Fsample%2Ffoo%2Fbar" - end - end - describe "available databases" do before(:each) do @couch = CouchRest::Server.new