added attachment uploading
This commit is contained in:
parent
baa2c1dd37
commit
7f818c2cf1
3 changed files with 25 additions and 3 deletions
|
@ -47,10 +47,12 @@ module CouchRest
|
|||
return
|
||||
end
|
||||
|
||||
doc["signatures"] ||= {}
|
||||
doc["_attachments"] ||= {}
|
||||
# remove deleted docs
|
||||
to_be_removed = doc["signatures"].keys.select do |d|
|
||||
!pushfiles.collect{|p| p.keys.first}.include?(d)
|
||||
end
|
||||
end
|
||||
|
||||
to_be_removed.each do |p|
|
||||
say "deleting #{p}"
|
||||
|
@ -69,7 +71,6 @@ module CouchRest
|
|||
doc["_attachments"][path].delete("length")
|
||||
doc["_attachments"][path]["data"] = @attachments[path]["data"]
|
||||
doc["_attachments"][path].merge!({"data" => @attachments[path]["data"]} )
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -190,12 +191,14 @@ module CouchRest
|
|||
viewdir = File.join(appdir,"views")
|
||||
attachdir = File.join(appdir,"attachments")
|
||||
views, lang = read_design_views(viewdir)
|
||||
# attachments = read_attachments(attachdir)
|
||||
docid = "_design/#{appname}"
|
||||
design = @db.get(docid) rescue {}
|
||||
design['_id'] = docid
|
||||
design['views'] = views
|
||||
design['language'] = lang
|
||||
@db.save(design)
|
||||
push_directory(attachdir, docid)
|
||||
# puts views.inspect
|
||||
end
|
||||
|
||||
|
|
|
@ -39,6 +39,16 @@ describe "couchapp" do
|
|||
`#{@run} push my-app #{TESTDB}`
|
||||
lambda{@db.get("_design/my-app")}.should_not raise_error
|
||||
end
|
||||
it "should create the views" do
|
||||
`#{@run} push my-app #{TESTDB}`
|
||||
doc = @db.get("_design/my-app")
|
||||
doc['views']['example']['map'].should match(/function/)
|
||||
end
|
||||
it "should create the index" do
|
||||
`#{@run} push my-app #{TESTDB}`
|
||||
doc = @db.get("_design/my-app")
|
||||
doc['_attachments']['index.html']["content_type"].should == 'text/html'
|
||||
end
|
||||
end
|
||||
|
||||
describe "push my-app my-design #{TESTDB}" do
|
||||
|
@ -50,7 +60,8 @@ describe "couchapp" do
|
|||
`#{@run} generate my-app`
|
||||
end
|
||||
it "should create the design document" do
|
||||
|
||||
`#{@run} push my-app my-design #{TESTDB}`
|
||||
lambda{@db.get("_design/my-design")}.should_not raise_error
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -67,6 +67,14 @@ describe CouchRest::FileManager, "pushing an app" do
|
|||
it "should create a design document" do
|
||||
lambda{@db.get("_design/couchapp")}.should_not raise_error
|
||||
end
|
||||
it "should create the views" do
|
||||
doc = @db.get("_design/couchapp")
|
||||
doc['views']['example']['map'].should match(/function/)
|
||||
end
|
||||
it "should create the index" do
|
||||
doc = @db.get("_design/couchapp")
|
||||
doc['_attachments']['index.html']["content_type"].should == 'text/html'
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue