couchdb 0.2.1 → 0.2.2
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/lib/couchdb/database.rb +4 -0
- data/spec/acceptance/database_management_spec.rb +18 -0
- data/spec/lib/couchdb/database_spec.rb +14 -0
- metadata +47 -77
data/lib/couchdb/database.rb
CHANGED
@@ -36,6 +36,10 @@ module CouchDB
|
|
36
36
|
delete! if exists?
|
37
37
|
end
|
38
38
|
|
39
|
+
def compact!
|
40
|
+
Transport::JSON.request :post, "#{url}/_compact", authentication_options.merge(:expected_status_code => 202, :body => { })
|
41
|
+
end
|
42
|
+
|
39
43
|
def information
|
40
44
|
Transport::JSON.request :get, url, authentication_options.merge(:expected_status_code => 200)
|
41
45
|
end
|
@@ -33,6 +33,24 @@ describe "database management" do
|
|
33
33
|
|
34
34
|
end
|
35
35
|
|
36
|
+
describe "compacting a database" do
|
37
|
+
|
38
|
+
before :each do
|
39
|
+
@database.delete_if_exists!
|
40
|
+
@database.create_if_missing!
|
41
|
+
|
42
|
+
@document = CouchDB::Document.new @database, "_id" => "test_document_1", "test" => "test value"
|
43
|
+
@document.save
|
44
|
+
@document.destroy
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should remove destroyed documents" do
|
48
|
+
@database.compact!
|
49
|
+
@database.information["compact_running"].should be_true
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
|
36
54
|
describe "fetching information about a database" do
|
37
55
|
|
38
56
|
before :each do
|
@@ -102,6 +102,20 @@ describe CouchDB::Database do
|
|
102
102
|
|
103
103
|
end
|
104
104
|
|
105
|
+
describe "compact!" do
|
106
|
+
|
107
|
+
it "should compact the database" do
|
108
|
+
Transport::JSON.should_receive(:request).with(
|
109
|
+
:post,
|
110
|
+
"http://host:1234/test/_compact",
|
111
|
+
:expected_status_code => 202,
|
112
|
+
:body => { }
|
113
|
+
)
|
114
|
+
@database.compact!
|
115
|
+
end
|
116
|
+
|
117
|
+
end
|
118
|
+
|
105
119
|
describe "information" do
|
106
120
|
|
107
121
|
it "should request database information" do
|
metadata
CHANGED
@@ -1,77 +1,57 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: couchdb
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
- 1
|
10
|
-
version: 0.2.1
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
13
|
-
-
|
7
|
+
authors:
|
8
|
+
- Philipp Brüll
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-10-19 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
22
15
|
name: transport
|
23
|
-
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &8895720 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 21
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 0
|
33
|
-
- 1
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
34
21
|
version: 1.0.1
|
35
22
|
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: rspec
|
39
23
|
prerelease: false
|
40
|
-
|
24
|
+
version_requirements: *8895720
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rspec
|
27
|
+
requirement: &8890840 !ruby/object:Gem::Requirement
|
41
28
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
segments:
|
47
|
-
- 2
|
48
|
-
version: "2"
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '2'
|
49
33
|
type: :development
|
50
|
-
version_requirements: *id002
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
|
-
name: reek
|
53
34
|
prerelease: false
|
54
|
-
|
35
|
+
version_requirements: *8890840
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: reek
|
38
|
+
requirement: &8888160 !ruby/object:Gem::Requirement
|
55
39
|
none: false
|
56
|
-
requirements:
|
57
|
-
- -
|
58
|
-
- !ruby/object:Gem::Version
|
59
|
-
|
60
|
-
segments:
|
61
|
-
- 1
|
62
|
-
- 2
|
63
|
-
version: "1.2"
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '1.2'
|
64
44
|
type: :development
|
65
|
-
|
66
|
-
|
45
|
+
prerelease: false
|
46
|
+
version_requirements: *8888160
|
47
|
+
description: A straight-forward client for CouchDB REST API. The resources exposed
|
48
|
+
by the API are simply wrapped into classes.
|
67
49
|
email: b.phifty@gmail.com
|
68
50
|
executables: []
|
69
|
-
|
70
51
|
extensions: []
|
71
|
-
|
72
|
-
extra_rdoc_files:
|
52
|
+
extra_rdoc_files:
|
73
53
|
- README.rdoc
|
74
|
-
files:
|
54
|
+
files:
|
75
55
|
- README.rdoc
|
76
56
|
- LICENSE
|
77
57
|
- Rakefile
|
@@ -100,41 +80,31 @@ files:
|
|
100
80
|
- spec/acceptance/server_spec.rb
|
101
81
|
- spec/acceptance/database_security_spec.rb
|
102
82
|
- spec/acceptance/document_handling_spec.rb
|
103
|
-
has_rdoc: true
|
104
83
|
homepage: http://github.com/phifty/couchdb
|
105
84
|
licenses: []
|
106
|
-
|
107
85
|
post_install_message:
|
108
86
|
rdoc_options: []
|
109
|
-
|
110
|
-
require_paths:
|
87
|
+
require_paths:
|
111
88
|
- lib
|
112
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
89
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
113
90
|
none: false
|
114
|
-
requirements:
|
115
|
-
- -
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
|
118
|
-
|
119
|
-
- 0
|
120
|
-
version: "0"
|
121
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - ! '>='
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
95
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
122
96
|
none: false
|
123
|
-
requirements:
|
124
|
-
- -
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
|
127
|
-
segments:
|
128
|
-
- 0
|
129
|
-
version: "0"
|
97
|
+
requirements:
|
98
|
+
- - ! '>='
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
130
101
|
requirements: []
|
131
|
-
|
132
102
|
rubyforge_project: couchdb
|
133
|
-
rubygems_version: 1.
|
103
|
+
rubygems_version: 1.8.10
|
134
104
|
signing_key:
|
135
105
|
specification_version: 3
|
136
106
|
summary: A straight-forward client for CouchDB REST API.
|
137
|
-
test_files:
|
107
|
+
test_files:
|
138
108
|
- spec/lib/couchdb/row_spec.rb
|
139
109
|
- spec/lib/couchdb/database_spec.rb
|
140
110
|
- spec/lib/couchdb/document_spec.rb
|