leanback 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Changelog.rdoc +15 -7
- data/README.rdoc +15 -9
- data/VERSION +1 -1
- data/leanback.gemspec +2 -2
- data/lib/leanback.rb +13 -2
- data/test/test_leanback.rb +24 -4
- metadata +4 -4
data/Changelog.rdoc
CHANGED
@@ -1,6 +1,14 @@
|
|
1
|
+
=Leanback 0.2.6
|
2
|
+
August 3, 2011:-
|
3
|
+
* Added ability to delete documents without having to retrieve the _rev revision number
|
4
|
+
Example:
|
5
|
+
doc = {:database => 'contacts', :doc_id => 'James'}
|
6
|
+
Document.delete doc
|
7
|
+
The above will delete the document with id 'james'. See README for details.
|
8
|
+
|
1
9
|
=Leanback 0.2.5
|
2
10
|
August 2, 2011:-
|
3
|
-
* Added dynamic updates for documents. This makes it easy to update documents without deleting old fields or having to track the _rev
|
11
|
+
* Added dynamic updates for documents. This makes it easy to update documents without deleting old fields or having to track the _rev number.
|
4
12
|
To update a document now:
|
5
13
|
data = {"age" => "53" }
|
6
14
|
doc = { :database => 'contacts', :doc_id => 'john', :data => data}
|
@@ -15,12 +23,12 @@ July 20, 2011:-
|
|
15
23
|
July 19, 2011:-
|
16
24
|
* Added better error handling all database operations now raise a CouchdbException when something goes wrong. It's now easy to track exceptions.
|
17
25
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
26
|
+
begin
|
27
|
+
Couchdb.create 'contacts'
|
28
|
+
rescue => e
|
29
|
+
puts "Error message: " + e.to_s
|
30
|
+
puts "Error value: " + e.error
|
31
|
+
end
|
24
32
|
# => Error message: CouchDB: Error - file_exists. Reason - The database could not be created, the file already exists.
|
25
33
|
Error value: file_exists
|
26
34
|
|
data/README.rdoc
CHANGED
@@ -48,25 +48,25 @@ Create a new document
|
|
48
48
|
This will create a new document in the 'contacts' database, with document id 'Linda'.
|
49
49
|
|
50
50
|
Let's update that document to change the email address
|
51
|
-
data = {
|
51
|
+
data = {:email => "linda@mail.com" }
|
52
52
|
doc = { :database => 'contacts', :doc_id => 'Linda', :data => data}
|
53
53
|
Document.update doc
|
54
54
|
|
55
55
|
Let's add gender and age
|
56
|
-
data = {
|
56
|
+
data = {:age => "32", :gender => "female" }
|
57
57
|
doc = { :database => 'contacts', :doc_id => 'Linda', :data => data}
|
58
58
|
Document.update doc
|
59
59
|
|
60
60
|
|
61
61
|
To change phone# and add a fax number
|
62
|
-
data = {
|
62
|
+
data = {:phone => "718-234-2904",:fax => "646-309-4049" }
|
63
63
|
doc = { :database => 'contacts', :doc_id => 'Linda', :data => data}
|
64
64
|
Document.update doc
|
65
65
|
|
66
66
|
Let's add twitter account, facebook account and website url
|
67
|
-
data = {
|
68
|
-
|
69
|
-
|
67
|
+
data = { :twitter => "http://twitter.com/#!/linda",
|
68
|
+
:faceboook => "http://facebook.com/linda",
|
69
|
+
:website => "http://linda-blogs.com" }
|
70
70
|
|
71
71
|
doc = { :database => 'contacts', :doc_id => 'Linda', :data => data}
|
72
72
|
Document.update doc
|
@@ -92,7 +92,7 @@ To edit the document and replace it with a new one
|
|
92
92
|
Document.edit doc
|
93
93
|
|
94
94
|
# => {"ok"=>true, "id"=>"Linda", "rev"=>"6-211ebb68bdd4ba8799387214b4a3b445"}
|
95
|
-
This replaces the existing document with a new one, the _rev
|
95
|
+
This replaces the existing document with a new one, the _rev number of the document must be included in the data.
|
96
96
|
|
97
97
|
Retrieve/view the document
|
98
98
|
doc = {:database => 'contacts', :doc_id => 'Linda'}
|
@@ -102,10 +102,16 @@ Retrieve/view the document
|
|
102
102
|
"lastname"=>"smith", "email"=>"linda@mail.com", "gender"=>"female", "phone"=>"718-245-5611"}
|
103
103
|
|
104
104
|
Delete the document
|
105
|
+
doc = {:database => 'contacts', :doc_id => 'Linda'}
|
106
|
+
Document.delete doc
|
107
|
+
|
108
|
+
#=> {"ok"=>true, "id"=>"Linda", "rev"=>"7-a2cfbbb607a668c26256bc19ff270ecf"}
|
109
|
+
|
110
|
+
Delete the document using it's revision number (_rev):
|
105
111
|
doc = {:database => 'contacts', :doc_id => 'Linda', :rev => '2-e813a0e902e3ac114400ff3959a2adde'}
|
106
|
-
Document.
|
112
|
+
Document.delete_rev doc
|
107
113
|
|
108
|
-
|
114
|
+
#=> {"ok"=>true, "id"=>"Linda", "rev"=>"3-48580d1806983b32cb03f114efb064e3"}
|
109
115
|
|
110
116
|
Retrieve all documents in a database
|
111
117
|
docs = Couchdb.docs_from 'contacts'
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.6
|
data/leanback.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{leanback}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Obi Akubue"]
|
12
|
-
s.date = %q{2011-08-
|
12
|
+
s.date = %q{2011-08-04}
|
13
13
|
s.description = %q{lightweight Ruby interface to CouchDB}
|
14
14
|
s.email = %q{obioraakubue@yahoo.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/leanback.rb
CHANGED
@@ -56,8 +56,19 @@ module Document
|
|
56
56
|
edit doc
|
57
57
|
end
|
58
58
|
|
59
|
-
|
60
|
-
def self.delete(doc)
|
59
|
+
#delete document
|
60
|
+
def self.delete(doc)
|
61
|
+
db_name = doc[:database]
|
62
|
+
doc_id = doc[:doc_id]
|
63
|
+
doc = {:database => db_name, :doc_id => doc_id}
|
64
|
+
hash = Couchdb.view doc
|
65
|
+
doc = {:database => db_name, :doc_id => doc_id, :rev => hash["_rev"]}
|
66
|
+
delete_rev doc
|
67
|
+
end
|
68
|
+
|
69
|
+
|
70
|
+
#delete a doc by rev#
|
71
|
+
def self.delete_rev(doc)
|
61
72
|
db_name = doc[:database]
|
62
73
|
doc_id = doc[:doc_id]
|
63
74
|
rev = doc[:rev]
|
data/test/test_leanback.rb
CHANGED
@@ -119,7 +119,7 @@ class TestLeanback < Test::Unit::TestCase
|
|
119
119
|
|
120
120
|
should "update the document" do
|
121
121
|
#data = {"age" => "42", "lastname" => "arnold", "phone" => "202-456-1234", "hobbies" => "football,running, video gamess" }
|
122
|
-
data = {"age" => "
|
122
|
+
data = {"age" => "54" }
|
123
123
|
doc = { :database => 'contacts', :doc_id => 'john', :data => data}
|
124
124
|
Document.update doc
|
125
125
|
end
|
@@ -136,10 +136,30 @@ class TestLeanback < Test::Unit::TestCase
|
|
136
136
|
end
|
137
137
|
end
|
138
138
|
|
139
|
-
should "delete a document
|
140
|
-
|
141
|
-
|
139
|
+
should "create and delete a document -- any handle exceptions" do
|
140
|
+
begin
|
141
|
+
|
142
|
+
data = {:firstname => 'James',
|
143
|
+
:lastname =>'Nova',
|
144
|
+
:phone => '212-234-1234',
|
145
|
+
:email =>'james@mail.com'}
|
146
|
+
|
147
|
+
doc = {:database => 'contacts', :doc_id => 'james', :data => data}
|
148
|
+
Document.create doc
|
149
|
+
|
150
|
+
doc = {:database => 'contacts', :doc_id => 'James'}
|
142
151
|
hash = Document.delete doc
|
152
|
+
puts hash.inspect
|
153
|
+
rescue CouchdbException => e
|
154
|
+
#puts e.to_s
|
155
|
+
#puts e.error
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
should "delete a document with revision number - any handle exceptions" do
|
160
|
+
begin
|
161
|
+
doc = {:database => 'contacts', :doc_id => 'james', :rev => '4-4e70528f7400e2e43d6543aec4d8aa2b'}
|
162
|
+
hash = Document.delete_rev doc
|
143
163
|
#puts hash.inspect
|
144
164
|
rescue CouchdbException => e
|
145
165
|
#puts e.to_s
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 6
|
9
|
+
version: 0.2.6
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Obi Akubue
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-08-
|
17
|
+
date: 2011-08-04 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -136,7 +136,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
136
136
|
requirements:
|
137
137
|
- - ">="
|
138
138
|
- !ruby/object:Gem::Version
|
139
|
-
hash:
|
139
|
+
hash: -85195711
|
140
140
|
segments:
|
141
141
|
- 0
|
142
142
|
version: "0"
|