From d1f8970c84a92076225eec68f33b31b52d65b10a Mon Sep 17 00:00:00 2001 From: Chris Anderson Date: Mon, 12 Jan 2009 19:50:00 -0800 Subject: [PATCH] fixed ddoc names on get --- lib/couchrest/core/database.rb | 6 +++++- spec/couchrest/core/design_spec.rb | 2 +- spec/spec_helper.rb | 10 ++++++---- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/couchrest/core/database.rb b/lib/couchrest/core/database.rb index cf2494c..aa3b282 100644 --- a/lib/couchrest/core/database.rb +++ b/lib/couchrest/core/database.rb @@ -75,7 +75,7 @@ module CouchRest # GET a document from CouchDB, by id. Returns a Ruby Hash. def get id - slug = CGI.escape(id) + slug = /^_design\/(.*)/ =~ id ? "_design/#{CGI.escape($1)}" : CGI.escape(id) hash = CouchRest.get("#{@root}/#{slug}") doc = if /^_design/ =~ hash["_id"] Design.new(hash) @@ -213,6 +213,10 @@ module CouchRest private + def escape_docid id + + end + def encode_attachments attachments attachments.each do |k,v| next if v['stub'] diff --git a/spec/couchrest/core/design_spec.rb b/spec/couchrest/core/design_spec.rb index 44bd09e..4161653 100644 --- a/spec/couchrest/core/design_spec.rb +++ b/spec/couchrest/core/design_spec.rb @@ -74,7 +74,7 @@ describe CouchRest::Design do @des = @db.get "_design/test" end it "should be a Design" do - @des.should be_an_instance_of CouchRest::Design + @des.should be_an_instance_of(CouchRest::Design) end it "should have a modifiable name" do @des.name.should == "test" diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 794b21d..96ad5f0 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -3,11 +3,13 @@ require "spec" # Satisfies Autotest and anyone else not using the Rake tasks require File.dirname(__FILE__) + '/../lib/couchrest' -FIXTURE_PATH = File.dirname(__FILE__) + '/fixtures' -SCRATCH_PATH = File.dirname(__FILE__) + '/tmp' +unless defined?(FIXTURE_PATH) + FIXTURE_PATH = File.dirname(__FILE__) + '/fixtures' + SCRATCH_PATH = File.dirname(__FILE__) + '/tmp' -COUCHHOST = "http://127.0.0.1:5984" -TESTDB = 'couchrest-test' + COUCHHOST = "http://127.0.0.1:5984" + TESTDB = 'couchrest-test' +end def reset_test_db! cr = CouchRest.new(COUCHHOST)