diff options
author | azul <azul@riseup.net> | 2013-12-22 06:33:56 -0800 |
---|---|---|
committer | azul <azul@riseup.net> | 2013-12-22 06:33:56 -0800 |
commit | 12dbeefe693e5432416ec8019368e591c526736b (patch) | |
tree | 8b93ddc237aef26f4a68557259f5f63250b1a694 /lib/tapicero/user_database.rb | |
parent | 41dee6ee7242a731763bb1b75e12cc97403aa4a4 (diff) | |
parent | c1e6eea1eb2a9fbdb92e806929806acef32ed8dc (diff) |
Merge pull request #6 from azul/deploy-design-docs
Deploy design docs
Diffstat (limited to 'lib/tapicero/user_database.rb')
-rw-r--r-- | lib/tapicero/user_database.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/tapicero/user_database.rb b/lib/tapicero/user_database.rb index 8f461ef..efd723a 100644 --- a/lib/tapicero/user_database.rb +++ b/lib/tapicero/user_database.rb @@ -23,6 +23,22 @@ 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('.json')) + CouchRest.put url, JSON.parse(file.read) + Tapicero.logger.debug "uploaded design doc #{file.basename} to #{url}" + rescue RestClient::Conflict + end + + def destroy db = CouchRest.new(host).database(name) db.delete! if db @@ -40,6 +56,10 @@ module Tapicero "#{host}/#{name}/_security" end + def design_url(doc_name) + "#{host}/#{name}/_design/#{doc_name}" + end + attr_reader :host, :name end end |