Class: Couchup::Couchup
- Inherits:
-
Object
- Object
- Couchup::Couchup
- Defined in:
- lib/couchup/couchup.rb
Class Attribute Summary collapse
-
.host ⇒ Object
Returns the value of attribute host.
-
.last_result ⇒ Object
Returns the value of attribute last_result.
-
.password ⇒ Object
Returns the value of attribute password.
-
.port ⇒ Object
Returns the value of attribute port.
-
.user ⇒ Object
Returns the value of attribute user.
Class Method Summary collapse
- .all(options = {}) ⇒ Object
- .database ⇒ Object
- .database=(database) ⇒ Object
- .databases ⇒ Object
- .debug=(value) ⇒ Object
- .debug? ⇒ Boolean
- .delete_all_docs(view_name) ⇒ Object
- .delete_doc(id) ⇒ Object
- .get(id) ⇒ Object
- .host_string(database = nil) ⇒ Object
- .new_database(db) ⇒ Object
- .ready? ⇒ Boolean
- .server ⇒ Object
- .using_auth? ⇒ Boolean
- .views(design = nil) ⇒ Object
Class Attribute Details
.host ⇒ Object
Returns the value of attribute host.
4 5 6 |
# File 'lib/couchup/couchup.rb', line 4 def host @host end |
.last_result ⇒ Object
Returns the value of attribute last_result.
5 6 7 |
# File 'lib/couchup/couchup.rb', line 5 def last_result @last_result end |
.password ⇒ Object
Returns the value of attribute password.
4 5 6 |
# File 'lib/couchup/couchup.rb', line 4 def password @password end |
.port ⇒ Object
Returns the value of attribute port.
4 5 6 |
# File 'lib/couchup/couchup.rb', line 4 def port @port end |
.user ⇒ Object
Returns the value of attribute user.
4 5 6 |
# File 'lib/couchup/couchup.rb', line 4 def user @user end |
Class Method Details
.all(options = {}) ⇒ Object
73 74 75 |
# File 'lib/couchup/couchup.rb', line 73 def all(={}) @db.documents(.merge(:include_docs => true))["rows"] end |
.database ⇒ Object
28 29 30 |
# File 'lib/couchup/couchup.rb', line 28 def database @db end |
.database=(database) ⇒ Object
11 12 13 |
# File 'lib/couchup/couchup.rb', line 11 def database=(database) @db = database.nil? ? nil : CouchRest.database!(host_string(database)) end |
.databases ⇒ Object
84 85 86 |
# File 'lib/couchup/couchup.rb', line 84 def databases server.databases end |
.debug=(value) ⇒ Object
77 78 79 |
# File 'lib/couchup/couchup.rb', line 77 def debug=(value) @debug = value end |
.debug? ⇒ Boolean
80 81 82 |
# File 'lib/couchup/couchup.rb', line 80 def debug? @debug == true end |
.delete_all_docs(view_name) ⇒ Object
50 51 52 53 54 55 |
# File 'lib/couchup/couchup.rb', line 50 def delete_all_docs(view_name) all_docs = view_name.nil? ? all : MapReduce.map(view_name) all_docs.collect{|d| d["doc"]}.each do |doc| database.delete_doc(doc) unless (doc["_id"] =~ /^_design/) end end |
.delete_doc(id) ⇒ Object
45 46 47 48 |
# File 'lib/couchup/couchup.rb', line 45 def delete_doc(id) doc = database.get(id) database.delete_doc(doc) end |
.get(id) ⇒ Object
69 70 71 |
# File 'lib/couchup/couchup.rb', line 69 def get(id) @db.get(id) end |
.host_string(database = nil) ⇒ Object
16 17 18 19 |
# File 'lib/couchup/couchup.rb', line 16 def host_string(database=nil) base_string = using_auth? ? "#{user}:#{password}@#{host}:#{port}" : "#{host}:#{port}" database.blank? ? "http://#{base_string}" : "http://#{base_string}/#{database}" end |
.new_database(db) ⇒ Object
24 25 26 |
# File 'lib/couchup/couchup.rb', line 24 def new_database(db) CouchRest.database!(host_string(db)) end |
.ready? ⇒ Boolean
57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/couchup/couchup.rb', line 57 def ready? uuid = nil begin ap (info = server.info) rescue ap $!.inspect ap $!.backtrace if debug? end !info.nil? end |
.server ⇒ Object
7 8 9 |
# File 'lib/couchup/couchup.rb', line 7 def server @server ||= CouchRest::Server.new(host_string) end |
.using_auth? ⇒ Boolean
20 21 22 |
# File 'lib/couchup/couchup.rb', line 20 def using_auth? !user.blank? end |
.views(design = nil) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/couchup/couchup.rb', line 33 def views(design = nil) params = design.nil? ? {:startkey => '_design', :endkey => '_design0'} : {:key => "_design\\#{design}"} designs = database.documents(params.merge(:include_docs => true))["rows"] designs.collect do |d| d["doc"]["views"].keys.collect do |view| map = !d["doc"]["views"][view]["map"].blank? reduce = !d["doc"]["views"][view]["reduce"].blank? {"#{d['key'].gsub('_design/','')}/#{view}" => {:reduce => reduce, :map => map}} end end.flatten end |