Merge branch 'janl/master'
This commit is contained in:
commit
c488aab338
16 changed files with 81 additions and 49 deletions
|
@ -31,7 +31,7 @@ CouchRest install, from the project root directory run `rake`, or `autotest`
|
|||
Quick Start:
|
||||
|
||||
# with !, it creates the database if it doesn't already exist
|
||||
@db = CouchRest.database!("http://localhost:5984/couchrest-test")
|
||||
@db = CouchRest.database!("http://127.0.0.1:5984/couchrest-test")
|
||||
response = @db.save({:key => 'value', 'another key' => 'another value'})
|
||||
doc = @db.get(response['id'])
|
||||
puts doc.inspect
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
require File.expand_path(File.dirname(__FILE__)) + '/../../couchrest'
|
||||
|
||||
cr = CouchRest.new("http://localhost:5984")
|
||||
cr = CouchRest.new("http://127.0.0.1:5984")
|
||||
@db = cr.database('word-count-example')
|
||||
@word_memoizer = {}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
require File.dirname(__FILE__) + '/../../couchrest'
|
||||
|
||||
couch = CouchRest.new("http://localhost:5984")
|
||||
couch = CouchRest.new("http://127.0.0.1:5984")
|
||||
db = couch.database('word-count-example')
|
||||
db.delete! rescue nil
|
||||
db = couch.create_db('word-count-example')
|
||||
|
@ -62,6 +62,6 @@ end
|
|||
# }
|
||||
# })
|
||||
|
||||
# puts "The books have been stored in your CouchDB. To initiate the MapReduce process, visit http://localhost:5984/_utils/ in your browser and click 'word-count-example', then select view 'words' or 'count'. The process could take about 15 minutes on an average MacBook."
|
||||
# puts "The books have been stored in your CouchDB. To initiate the MapReduce process, visit http://127.0.0.1:5984/_utils/ in your browser and click 'word-count-example', then select view 'words' or 'count'. The process could take about 15 minutes on an average MacBook."
|
||||
#
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
require File.dirname(__FILE__) + '/../../couchrest'
|
||||
|
||||
couch = CouchRest.new("http://localhost:5984")
|
||||
couch = CouchRest.new("http://127.0.0.1:5984")
|
||||
db = couch.database('word-count-example')
|
||||
|
||||
puts "Now that we've parsed all those books into CouchDB, the queries we can run are incredibly flexible."
|
||||
|
@ -35,5 +35,5 @@ puts "\nHere are the params for 'flight' in the da-vinci book:"
|
|||
puts params.inspect
|
||||
puts
|
||||
puts 'The url looks like this:'
|
||||
puts 'http://localhost:5984/word-count-example/_view/word_count/count?key=["flight","da-vinci"]'
|
||||
puts 'http://127.0.0.1:5984/word-count-example/_view/word_count/count?key=["flight","da-vinci"]'
|
||||
puts "\nTry dropping that in your browser..."
|
|
@ -72,7 +72,7 @@ module CouchRest
|
|||
db = nil if db && db.empty?
|
||||
|
||||
{
|
||||
:host => host || "localhost:5984",
|
||||
:host => host || "127.0.0.1:5984",
|
||||
:database => db,
|
||||
:doc => docid
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ module CouchRest
|
|||
foo-project/bar-views/my-design/viewname-reduce.js
|
||||
foo-project/bar-views/my-design/noreduce-map.js
|
||||
|
||||
Pushed to => http://localhost:5984/baz-database/_design/my-design
|
||||
Pushed to => http://127.0.0.1:5984/baz-database/_design/my-design
|
||||
|
||||
And the design document:
|
||||
{
|
||||
|
|
|
@ -18,7 +18,7 @@ module CouchRest
|
|||
# than this example.
|
||||
#
|
||||
# class Article < CouchRest::Model
|
||||
# use_database CouchRest.database!('http://localhost:5984/couchrest-model-test')
|
||||
# use_database CouchRest.database!('http://127.0.0.1:5984/couchrest-model-test')
|
||||
# unique_id :slug
|
||||
#
|
||||
# view_by :date, :descending => true
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
module CouchRest
|
||||
class Server
|
||||
attr_accessor :uri, :uuid_batch_count
|
||||
def initialize server = 'http://localhost:5984', uuid_batch_count = 1000
|
||||
def initialize server = 'http://127.0.0.1:5984', uuid_batch_count = 1000
|
||||
@uri = server
|
||||
@uuid_batch_count = uuid_batch_count
|
||||
end
|
||||
|
|
|
@ -12,9 +12,10 @@ module CouchRest
|
|||
"png" => "image/png",
|
||||
"gif" => "image/gif",
|
||||
"css" => "text/css",
|
||||
"js" => "test/javascript"
|
||||
"js" => "test/javascript",
|
||||
"txt" => "text/plain"
|
||||
}
|
||||
def initialize(dbname, host="http://localhost:5984")
|
||||
def initialize(dbname, host="http://127.0.0.1:5984")
|
||||
@db = CouchRest.new(host).database(dbname)
|
||||
end
|
||||
|
||||
|
@ -37,7 +38,7 @@ module CouchRest
|
|||
@attachments[name] = {
|
||||
"data" => value,
|
||||
"content_type" => MIMES[name.split('.').last]
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
doc = @db.get(docid) rescue nil
|
||||
|
@ -152,7 +153,38 @@ module CouchRest
|
|||
|
||||
designs
|
||||
end
|
||||
|
||||
|
||||
def push_forms(forms_dir)
|
||||
designs = {}
|
||||
|
||||
Dir["#{forms_dir}/**/*.*"].each do |design_doc|
|
||||
design_doc_parts = design_doc.split('/')
|
||||
next if /^lib\..*$/.match design_doc_parts.last
|
||||
pre_normalized_view_name = design_doc_parts.last.split("-")
|
||||
form_name = pre_normalized_view_name[0..pre_normalized_view_name.length-2].join("-")
|
||||
|
||||
folder = design_doc_parts[-2]
|
||||
|
||||
designs[folder] ||= {}
|
||||
designs[folder]["forms"] ||= {}
|
||||
design_lang = design_doc_parts.last.split(".").last
|
||||
designs[folder]["language"] ||= LANGS[design_lang]
|
||||
|
||||
libs = ""
|
||||
Dir["#{forms_dir}/lib.#{design_lang}"].collect do |global_lib|
|
||||
libs << open(global_lib).read
|
||||
libs << "\n"
|
||||
end
|
||||
designs[folder]["forms"]["#{form_name}"] = read(design_doc, libs)
|
||||
end
|
||||
|
||||
designs.each do |k,v|
|
||||
create_or_update("_design/#{k}", v)
|
||||
end
|
||||
|
||||
designs
|
||||
end
|
||||
|
||||
def pull_views(view_dir)
|
||||
prefix = "_design"
|
||||
ds = db.documents(:startkey => '#{prefix}/', :endkey => '#{prefix}/ZZZZZZZZZ')
|
||||
|
|
|
@ -46,48 +46,48 @@ describe CouchRest do
|
|||
it "should parse just a dbname" do
|
||||
db = CouchRest.parse "my-db"
|
||||
db[:database].should == "my-db"
|
||||
db[:host].should == "localhost:5984"
|
||||
db[:host].should == "127.0.0.1:5984"
|
||||
end
|
||||
it "should parse a host and db" do
|
||||
db = CouchRest.parse "localhost/my-db"
|
||||
db = CouchRest.parse "127.0.0.1/my-db"
|
||||
db[:database].should == "my-db"
|
||||
db[:host].should == "localhost"
|
||||
db[:host].should == "127.0.0.1"
|
||||
end
|
||||
it "should parse a host and db with http" do
|
||||
db = CouchRest.parse "http://localhost/my-db"
|
||||
db = CouchRest.parse "http://127.0.0.1/my-db"
|
||||
db[:database].should == "my-db"
|
||||
db[:host].should == "localhost"
|
||||
db[:host].should == "127.0.0.1"
|
||||
end
|
||||
it "should parse a host with a port and db" do
|
||||
db = CouchRest.parse "localhost:5555/my-db"
|
||||
db = CouchRest.parse "127.0.0.1:5555/my-db"
|
||||
db[:database].should == "my-db"
|
||||
db[:host].should == "localhost:5555"
|
||||
db[:host].should == "127.0.0.1:5555"
|
||||
end
|
||||
it "should parse a host with a port and db with http" do
|
||||
db = CouchRest.parse "http://localhost:5555/my-db"
|
||||
db = CouchRest.parse "http://127.0.0.1:5555/my-db"
|
||||
db[:database].should == "my-db"
|
||||
db[:host].should == "localhost:5555"
|
||||
db[:host].should == "127.0.0.1:5555"
|
||||
end
|
||||
it "should parse just a host" do
|
||||
db = CouchRest.parse "http://localhost:5555/"
|
||||
db = CouchRest.parse "http://127.0.0.1:5555/"
|
||||
db[:database].should be_nil
|
||||
db[:host].should == "localhost:5555"
|
||||
db[:host].should == "127.0.0.1:5555"
|
||||
end
|
||||
it "should parse just a host no slash" do
|
||||
db = CouchRest.parse "http://localhost:5555"
|
||||
db[:host].should == "localhost:5555"
|
||||
db = CouchRest.parse "http://127.0.0.1:5555"
|
||||
db[:host].should == "127.0.0.1:5555"
|
||||
db[:database].should be_nil
|
||||
end
|
||||
it "should get docid" do
|
||||
db = CouchRest.parse "localhost:5555/my-db/my-doc"
|
||||
db = CouchRest.parse "127.0.0.1:5555/my-db/my-doc"
|
||||
db[:database].should == "my-db"
|
||||
db[:host].should == "localhost:5555"
|
||||
db[:host].should == "127.0.0.1:5555"
|
||||
db[:doc].should == "my-doc"
|
||||
end
|
||||
it "should get docid with http" do
|
||||
db = CouchRest.parse "http://localhost:5555/my-db/my-doc"
|
||||
db = CouchRest.parse "http://127.0.0.1:5555/my-db/my-doc"
|
||||
db[:database].should == "my-db"
|
||||
db[:host].should == "localhost:5555"
|
||||
db[:host].should == "127.0.0.1:5555"
|
||||
db[:doc].should == "my-doc"
|
||||
end
|
||||
|
||||
|
@ -137,24 +137,24 @@ describe CouchRest do
|
|||
|
||||
describe "easy initializing a database adapter" do
|
||||
it "should be possible without an explicit CouchRest instantiation" do
|
||||
db = CouchRest.database "http://localhost:5984/couchrest-test"
|
||||
db = CouchRest.database "http://127.0.0.1:5984/couchrest-test"
|
||||
db.should be_an_instance_of(CouchRest::Database)
|
||||
db.host.should == "localhost:5984"
|
||||
db.host.should == "127.0.0.1:5984"
|
||||
end
|
||||
# TODO add https support (need test environment...)
|
||||
# it "should work with https" # do
|
||||
# db = CouchRest.database "https://localhost:5984/couchrest-test"
|
||||
# db.host.should == "https://localhost:5984"
|
||||
# db = CouchRest.database "https://127.0.0.1:5984/couchrest-test"
|
||||
# db.host.should == "https://127.0.0.1:5984"
|
||||
# end
|
||||
it "should not create the database automatically" do
|
||||
db = CouchRest.database "http://localhost:5984/couchrest-test"
|
||||
db = CouchRest.database "http://127.0.0.1:5984/couchrest-test"
|
||||
lambda{db.info}.should raise_error(RestClient::ResourceNotFound)
|
||||
end
|
||||
end
|
||||
|
||||
describe "ensuring the db exists" do
|
||||
it "should be super easy" do
|
||||
db = CouchRest.database! "http://localhost:5984/couchrest-test-2"
|
||||
db = CouchRest.database! "http://127.0.0.1:5984/couchrest-test-2"
|
||||
db.name.should == 'couchrest-test-2'
|
||||
db.info["db_name"].should == 'couchrest-test-2'
|
||||
end
|
||||
|
|
|
@ -159,7 +159,7 @@ describe CouchRest::Database do
|
|||
|
||||
docs = [{'key' => 'value'}, {'_id' => 'totally-uniq'}]
|
||||
id_docs = [{'key' => 'value', '_id' => 'asdf6sgadkfhgsdfusdf'}, {'_id' => 'totally-uniq'}]
|
||||
CouchRest.should_receive(:post).with("http://localhost:5984/couchrest-test/_bulk_docs", {:docs => id_docs})
|
||||
CouchRest.should_receive(:post).with("http://127.0.0.1:5984/couchrest-test/_bulk_docs", {:docs => id_docs})
|
||||
|
||||
@db.bulk_save(docs)
|
||||
end
|
||||
|
|
|
@ -46,7 +46,7 @@ class Course < CouchRest::Model
|
|||
end
|
||||
|
||||
class Article < CouchRest::Model
|
||||
use_database CouchRest.database!('http://localhost:5984/couchrest-model-test')
|
||||
use_database CouchRest.database!('http://127.0.0.1:5984/couchrest-model-test')
|
||||
unique_id :slug
|
||||
|
||||
view_by :date, :descending => true
|
||||
|
@ -110,8 +110,8 @@ describe CouchRest::Model do
|
|||
@db = @cr.create_db(TESTDB) rescue nil
|
||||
@adb = @cr.database('couchrest-model-test')
|
||||
@adb.delete! rescue nil
|
||||
CouchRest.database!('http://localhost:5984/couchrest-model-test')
|
||||
CouchRest::Model.default_database = CouchRest.database!('http://localhost:5984/couchrest-test')
|
||||
CouchRest.database!('http://127.0.0.1:5984/couchrest-model-test')
|
||||
CouchRest::Model.default_database = CouchRest.database!('http://127.0.0.1:5984/couchrest-test')
|
||||
end
|
||||
|
||||
it "should use the default database" do
|
||||
|
|
|
@ -15,12 +15,12 @@ describe CouchRest::FileManager do
|
|||
lambda{CouchRest::FileManager.new}.should raise_error
|
||||
end
|
||||
it "should accept a db name" do
|
||||
@fm = CouchRest::FileManager.new(TESTDB, 'http://localhost')
|
||||
@fm = CouchRest::FileManager.new(TESTDB, 'http://127.0.0.1')
|
||||
@fm.db.name.should == TESTDB
|
||||
end
|
||||
it "should default to localhost couchdb" do
|
||||
it "should default to 127.0.0.1 couchdb" do
|
||||
@fm = CouchRest::FileManager.new(TESTDB)
|
||||
@fm.db.host.should == 'http://localhost:5984'
|
||||
@fm.db.host.should == 'http://127.0.0.1:5984'
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ require File.dirname(__FILE__) + '/../lib/couchrest'
|
|||
|
||||
FIXTURE_PATH = File.dirname(__FILE__) + '/fixtures'
|
||||
|
||||
COUCHHOST = "http://localhost:5984"
|
||||
COUCHHOST = "http://127.0.0.1:5984"
|
||||
TESTDB = 'couchrest-test'
|
||||
|
||||
def reset_test_db!
|
||||
|
|
|
@ -2,11 +2,11 @@ require 'rubygems'
|
|||
require 'couchrest'
|
||||
|
||||
# set the source db and map view
|
||||
source = CouchRest.new("http://localhost:5984").database('source-db')
|
||||
source = CouchRest.new("http://127.0.0.1:5984").database('source-db')
|
||||
source_view = 'mydesign/view-map'
|
||||
|
||||
# set the target db
|
||||
target = CouchRest.new("http://localhost:5984").database('target-db')
|
||||
target = CouchRest.new("http://127.0.0.1:5984").database('target-db')
|
||||
|
||||
|
||||
pager = CouchRest::Pager.new(source)
|
||||
|
|
|
@ -5,10 +5,10 @@ require 'couchrest'
|
|||
# use it to create a smaller dataset on which to prototype views.
|
||||
|
||||
# specify the source database
|
||||
source = CouchRest.new("http://localhost:5984").database('source-db')
|
||||
source = CouchRest.new("http://127.0.0.1:5984").database('source-db')
|
||||
|
||||
# specify the target database
|
||||
target = CouchRest.new("http://localhost:5984").database('target-db')
|
||||
target = CouchRest.new("http://127.0.0.1:5984").database('target-db')
|
||||
|
||||
# pager efficiently yields all view rows
|
||||
pager = CouchRest::Pager.new(source)
|
||||
|
|
Loading…
Reference in a new issue