diff options
author | Azul <azul@riseup.net> | 2013-12-19 15:59:55 +0100 |
---|---|---|
committer | Azul <azul@riseup.net> | 2013-12-19 15:59:55 +0100 |
commit | f47712d803811f06b4371f50fabdfc1fefffe4cc (patch) | |
tree | c079d8802695c21fececba629e4446b23044145d /lib/tapicero/user_database.rb | |
parent | e4df501035434cbb1920ccca21e489599b5ad382 (diff) |
add design docs on db creation, use Pathname
Pathname makes dealing with files easier than String.
Tapicero will look for design documents in design directory in the tapicero path for now.
Diffstat (limited to 'lib/tapicero/user_database.rb')
-rw-r--r-- | lib/tapicero/user_database.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/tapicero/user_database.rb b/lib/tapicero/user_database.rb index 8f461ef..b08558f 100644 --- a/lib/tapicero/user_database.rb +++ b/lib/tapicero/user_database.rb @@ -23,6 +23,21 @@ module Tapicero CouchRest.put security_url, security end + def add_design_docs + pattern = BASE_DIR + 'designs' + '*.json' + Tapicero.logger.debug "looking for design docs in #{pattern}" + Pathname.glob(pattern).each do |file| + upload_design_doc(file) + end + end + + def upload_design_doc(file) + url = design_url(file.basename) + Tapicero.logger.debug "uploading design doc #{file.basename} to #{url}" + CouchRest.put url, JSON.parse(file.read) + end + + def destroy db = CouchRest.new(host).database(name) db.delete! if db @@ -40,6 +55,10 @@ module Tapicero "#{host}/#{name}/_security" end + def design_url(doc_name) + "#{host}/#{name}/_design/#{doc_name}" + end + attr_reader :host, :name end end |