leanback 0.4.2 → 0.5.0
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.
- checksums.yaml +7 -0
- data/.travis.yml +10 -0
- data/Gemfile +5 -6
- data/Gemfile.lock +65 -14
- data/README.md +465 -33
- data/Rakefile +8 -17
- data/VERSION +1 -1
- data/leanback.gemspec +26 -85
- data/lib/leanback.rb +129 -587
- data/spec/leanback_spec.rb +356 -0
- metadata +40 -117
- data/Changelog.rdoc +0 -146
- data/documentation/static/2011/11/20/i-moved-leanback-documentation/index.html +0 -180
- data/documentation/static/2011/11/20/index.html +0 -146
- data/documentation/static/2011/11/index.html +0 -146
- data/documentation/static/2011/index.html +0 -146
- data/documentation/static/2013/06/02/index.html +0 -146
- data/documentation/static/2013/06/02/released-leanback-v0-3-4/index.html +0 -180
- data/documentation/static/2013/06/09/index.html +0 -146
- data/documentation/static/2013/06/09/released-leanback-v0-4-0/index.html +0 -179
- data/documentation/static/2013/06/index.html +0 -158
- data/documentation/static/2013/index.html +0 -158
- data/documentation/static/author/admin/index.html +0 -175
- data/documentation/static/basic-couchdb-operations/index.html +0 -259
- data/documentation/static/category/uncategorized/index.html +0 -170
- data/documentation/static/couchdb-configuration/index.html +0 -189
- data/documentation/static/couchdb-security/index.html +0 -218
- data/documentation/static/count-by-multiple-documents/index.html +0 -221
- data/documentation/static/count-documents-by-key/index.html +0 -177
- data/documentation/static/css/2c-l-fixed.css +0 -1
- data/documentation/static/css/2c-l-fixed.dev.css +0 -62
- data/documentation/static/css/2c-r-fixed.css +0 -1
- data/documentation/static/css/2c-r-fixed.dev.css +0 -60
- data/documentation/static/css/3c-c-fixed.css +0 -1
- data/documentation/static/css/3c-c-fixed.dev.css +0 -84
- data/documentation/static/css/3c-l-fixed.css +0 -1
- data/documentation/static/css/3c-l-fixed.dev.css +0 -61
- data/documentation/static/css/3c-r-fixed.css +0 -1
- data/documentation/static/css/3c-r-fixed.dev.css +0 -62
- data/documentation/static/css/holy-grail-fluid.css +0 -5
- data/documentation/static/css/plugins.css +0 -5
- data/documentation/static/css/print.css +0 -5
- data/documentation/static/css/screen.css +0 -1
- data/documentation/static/design-documents-and-permanent-views/index.html +0 -454
- data/documentation/static/error-handling/index.html +0 -157
- data/documentation/static/find-document-by-multiple-keys/index.html +0 -269
- data/documentation/static/find-documents-by-key/index.html +0 -243
- data/documentation/static/index.html +0 -161
- data/documentation/static/leanback/index.html +0 -130
- data/documentation/static/leanback/installation/index.html +0 -119
- data/documentation/static/setting-the-bind_address-port/index.html +0 -151
- data/documentation/static/style.css +0 -16
- data/spec/admin_party/database_spec.rb +0 -400
- data/spec/no_admin_party/cloudant_spec.rb +0 -365
- data/spec/no_admin_party/database_spec.rb +0 -491
- data/spec/no_admin_party/non_admin_user_spec.rb +0 -67
- data/test/helper.rb +0 -18
- data/test/main.rb +0 -295
- data/test/my_view.json +0 -8
- data/test/my_views.json +0 -8
- data/test/start.json +0 -8
- data/test/test_leanback.rb +0 -319
- data/test/view_age.json +0 -8
@@ -0,0 +1,356 @@
|
|
1
|
+
require 'spec_base'
|
2
|
+
|
3
|
+
def db_settings(database_name)
|
4
|
+
db_credentials = { username: ENV["COUCHDB_ADMIN_USERNAME"],
|
5
|
+
password: ENV["COUCHDB_ADMIN_PASSWORD"]
|
6
|
+
}
|
7
|
+
db_credentials.merge({database: database_name})
|
8
|
+
end
|
9
|
+
|
10
|
+
describe "CouchDB" do
|
11
|
+
describe "#create" do
|
12
|
+
it "creates a database" do
|
13
|
+
testdb = Leanback::Couchdb.new db_settings("testdb")
|
14
|
+
testdb.create.should == {ok: true}
|
15
|
+
testdb.delete.should == {ok: true}
|
16
|
+
end
|
17
|
+
it "raises an exception when database name is non string" do
|
18
|
+
testdb = Leanback::Couchdb.new db_settings(:testdb)
|
19
|
+
expect{ testdb.create }.to raise_error(Leanback::InvalidDatabaseName)
|
20
|
+
end
|
21
|
+
it "raises an exception when creating a database that already exists" do
|
22
|
+
#setup
|
23
|
+
mytestdb = Leanback::Couchdb.new db_settings("mytestdb")
|
24
|
+
#ceate database
|
25
|
+
mytestdb.create
|
26
|
+
#try recreating the database that already exists
|
27
|
+
expect{ mytestdb.create }.to raise_error(Leanback::CouchdbException)
|
28
|
+
#cleanup
|
29
|
+
mytestdb.delete
|
30
|
+
end
|
31
|
+
it "raises an exception when it cannot connect to database" do
|
32
|
+
#raises the exception when it is from a non couchdb issue
|
33
|
+
a_database = Leanback::Couchdb.new database: "adatabase", port: 9999
|
34
|
+
expect{ a_database.create }.to raise_error(Errno::ECONNREFUSED)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
describe "#delete" do
|
38
|
+
it "deletes a database" do
|
39
|
+
testdb = Leanback::Couchdb.new db_settings("testdb#{Time.now.to_i}")
|
40
|
+
testdb.create
|
41
|
+
testdb.delete.should include(ok: true)
|
42
|
+
end
|
43
|
+
it "raises an exception when deleting a database that don't exist" do
|
44
|
+
#raises a Leanback::CouchdbException when exception is a couchdb issue
|
45
|
+
mydatabase = Leanback::Couchdb.new db_settings("mydatabase")
|
46
|
+
expect{ mydatabase.delete }.to raise_error(Leanback::CouchdbException)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
describe "#create_doc" do
|
50
|
+
before(:each) do
|
51
|
+
@contacts = Leanback::Couchdb.new db_settings("contacts")
|
52
|
+
@contacts.create
|
53
|
+
end
|
54
|
+
it "creates a document" do
|
55
|
+
hash = @contacts.create_doc("linda", {})
|
56
|
+
hash.should include(ok: true, id: "linda")
|
57
|
+
hash.include?(:rev).should == true
|
58
|
+
end
|
59
|
+
it "raises exception for incorrect document id format" do
|
60
|
+
expect{ @contacts.create_doc(:linda, {}) }.to raise_error(Leanback::InvalidDocumentID)
|
61
|
+
end
|
62
|
+
it "raises exception for incorrect document data format" do
|
63
|
+
expect{ @contacts.create_doc("david", [])}.to raise_error(Leanback::CouchdbException)
|
64
|
+
end
|
65
|
+
after(:each) do
|
66
|
+
@contacts.delete
|
67
|
+
end
|
68
|
+
end
|
69
|
+
describe "#delete_doc" do
|
70
|
+
before(:each) do
|
71
|
+
@testdb = Leanback::Couchdb.new db_settings("testdb#{Time.now.to_i}")
|
72
|
+
@testdb.create
|
73
|
+
@doc_id = "john"
|
74
|
+
created_doc_hash = @testdb.create_doc @doc_id, {}
|
75
|
+
@rev = created_doc_hash[:rev]
|
76
|
+
end
|
77
|
+
it "deletes a document with revision" do
|
78
|
+
deleted_doc_hash = @testdb.delete_doc @doc_id, @rev
|
79
|
+
deleted_doc_hash.should include(ok: true, id: @doc_id)
|
80
|
+
deleted_doc_hash.include?(:rev).should == true
|
81
|
+
end
|
82
|
+
it "raises an exception when revision is not found" do
|
83
|
+
wrongrev = "5-d5e25dea1ae936b802392bade1de7d93"
|
84
|
+
expect{ @testdb.delete_doc @doc_id, wrongrev }.to raise_error(Leanback::CouchdbException)
|
85
|
+
end
|
86
|
+
it "raises an exception when revision is in wrong format" do
|
87
|
+
expect{ @testdb.delete_doc @doc_id, "wrongformat" }.to raise_error(Leanback::CouchdbException)
|
88
|
+
end
|
89
|
+
it "raises an exception when document cannot be found" do
|
90
|
+
expect{ @testdb.delete_doc("not_found", "something") }.to raise_error(Leanback::CouchdbException)
|
91
|
+
end
|
92
|
+
after(:each) do
|
93
|
+
@testdb.delete
|
94
|
+
end
|
95
|
+
end
|
96
|
+
describe "#delete_doc!" do
|
97
|
+
before(:each) do
|
98
|
+
@testdb = Leanback::Couchdb.new db_settings("testdb#{Time.now.to_i}")
|
99
|
+
@testdb.create
|
100
|
+
end
|
101
|
+
it "deletes a doc with no revision" do
|
102
|
+
@testdb.create_doc "john", {}
|
103
|
+
deleted_doc_hash = @testdb.delete_doc! "john"
|
104
|
+
deleted_doc_hash.should include(ok: true, id: "john")
|
105
|
+
deleted_doc_hash.include?(:rev).should == true
|
106
|
+
end
|
107
|
+
it "raises an exception when document cannot be found" do
|
108
|
+
expect{ @testdb.delete_doc!("not_found") }.to raise_error(Leanback::CouchdbException)
|
109
|
+
end
|
110
|
+
after(:each) do
|
111
|
+
@testdb.delete
|
112
|
+
end
|
113
|
+
end
|
114
|
+
describe "#get_doc" do
|
115
|
+
before(:each) do
|
116
|
+
@testdb = Leanback::Couchdb.new db_settings("testdb#{Time.now.to_i}")
|
117
|
+
@testdb.create
|
118
|
+
@testdb.create_doc("james", {lastname: "smith"})
|
119
|
+
end
|
120
|
+
it "get a document" do
|
121
|
+
doc = @testdb.get_doc "james"
|
122
|
+
doc.should == {_id: "james", _rev: doc[:_rev], lastname: "smith"}
|
123
|
+
end
|
124
|
+
it "raises an exception when trying to get document that dont exist" do
|
125
|
+
expect{ @testdb.get_doc "dont_exist" }.to raise_error(Leanback::CouchdbException)
|
126
|
+
end
|
127
|
+
after(:each) do
|
128
|
+
@testdb.delete
|
129
|
+
end
|
130
|
+
end
|
131
|
+
describe "#update_doc" do
|
132
|
+
before(:each) do
|
133
|
+
@testdb = Leanback::Couchdb.new db_settings("testdb#{Time.now.to_i}")
|
134
|
+
@testdb.create
|
135
|
+
doc = @testdb.create_doc("kevin",{firstname: "kevin"})
|
136
|
+
@rev = doc[:rev]
|
137
|
+
@doc_id = "kevin"
|
138
|
+
end
|
139
|
+
it "updates a document using a revision" do
|
140
|
+
new_firstname = "martin"
|
141
|
+
new_doc = @testdb.update_doc @doc_id, _rev: @rev, firstname: new_firstname
|
142
|
+
new_doc.should include(ok: true, id: @doc_id)
|
143
|
+
doc = @testdb.get_doc @doc_id
|
144
|
+
doc[:firstname].should == "martin"
|
145
|
+
end
|
146
|
+
it "raises an exception when revision is in wrong format" do
|
147
|
+
expect{ @testdb.update_doc @doc_id, _rev: "wrongformat", firstname: "mark" }.to raise_error(Leanback::CouchdbException)
|
148
|
+
end
|
149
|
+
it "raises an exception when revision is not found" do
|
150
|
+
wrongrev = "5-d5e25dea1ae936b802392bade1de7d93"
|
151
|
+
expect{ @testdb.update_doc @doc_id, _rev: wrongrev, firstname: "mark" }.to raise_error(Leanback::CouchdbException)
|
152
|
+
end
|
153
|
+
it "creates a new document when provided doc_id is not found" do
|
154
|
+
result = @testdb.update_doc "notfound", _rev: @rev, firstname: "mark"
|
155
|
+
result.should include(ok: true, id: "notfound" )
|
156
|
+
result.include?(:rev).should == true
|
157
|
+
end
|
158
|
+
after(:each) do
|
159
|
+
@testdb.delete
|
160
|
+
end
|
161
|
+
end
|
162
|
+
describe "#edit_doc!" do
|
163
|
+
before(:each) do
|
164
|
+
@testdb = Leanback::Couchdb.new db_settings("testdb#{Time.now.to_i}")
|
165
|
+
@testdb.create
|
166
|
+
doc = @testdb.create_doc("kevin",{firstname: "kevin"})
|
167
|
+
@doc_id = "kevin"
|
168
|
+
end
|
169
|
+
it "edits a document's existing data" do
|
170
|
+
new_firstname = "nancy"
|
171
|
+
new_doc = @testdb.edit_doc! @doc_id, firstname: new_firstname
|
172
|
+
new_doc.should include(ok: true, id: @doc_id)
|
173
|
+
doc = @testdb.get_doc @doc_id
|
174
|
+
doc[:firstname].should == "nancy"
|
175
|
+
end
|
176
|
+
it "edits a document adding new data" do
|
177
|
+
lastname = "smith"
|
178
|
+
@testdb.edit_doc!(@doc_id, lastname: lastname)
|
179
|
+
doc = @testdb.get_doc(@doc_id)
|
180
|
+
doc.should include(_id: @doc_id, firstname: "kevin", lastname: lastname)
|
181
|
+
end
|
182
|
+
it "raises an exception when document cannot be found" do
|
183
|
+
expect{ @testdb.edit_doc!("notfound", firstname: "jackson") }.to raise_error(Leanback::CouchdbException)
|
184
|
+
end
|
185
|
+
after(:each) do
|
186
|
+
@testdb.delete
|
187
|
+
end
|
188
|
+
end
|
189
|
+
describe "#security_object" do
|
190
|
+
before(:each) do
|
191
|
+
@testdb = Leanback::Couchdb.new db_settings("testdb#{Time.now.to_i}")
|
192
|
+
@testdb.create
|
193
|
+
@security_settings = { admins: {names: ["david"], roles: ["admin"]},
|
194
|
+
readers: {names: ["david"],roles: ["admin"]}
|
195
|
+
}
|
196
|
+
#sets security object
|
197
|
+
@testdb.security_object = @security_settings
|
198
|
+
end
|
199
|
+
it "sets security object for database" do
|
200
|
+
@testdb.security_object.should == @security_settings
|
201
|
+
end
|
202
|
+
it "sets security object with only admins access control settings" do
|
203
|
+
only_admins = { admins: {names: ["david"], roles: ["admin"]}
|
204
|
+
}
|
205
|
+
@testdb.security_object = only_admins
|
206
|
+
@testdb.security_object.should == only_admins
|
207
|
+
end
|
208
|
+
it "clears security object" do
|
209
|
+
@testdb.security_object = {}
|
210
|
+
@testdb.security_object.should == {}
|
211
|
+
end
|
212
|
+
after(:each) do
|
213
|
+
@testdb.delete
|
214
|
+
end
|
215
|
+
end
|
216
|
+
describe "queries" do
|
217
|
+
before(:each) do
|
218
|
+
@db = Leanback::Couchdb.new db_settings("testdb#{Time.now.to_i}")
|
219
|
+
@db.create
|
220
|
+
@db.create_doc "christina", firstname: "christina", state: "new york", gender: "female", city: "bronx", age: 22
|
221
|
+
@db.create_doc "james", firstname: "james", state: "new york", gender: "male", city: "manhattan", age: 23
|
222
|
+
@db.create_doc "kevin", firstname: "kevin", state: "new york", gender: "male", city: "bronx", age: 37
|
223
|
+
@db.create_doc "lisa", firstname: "lisa", state: "new york", gender: "female", city: "manhattan", age: 31
|
224
|
+
@db.create_doc "martin", firstname: "martin", state: "new york", gender: "male", city: "manhattan", age: 29
|
225
|
+
@db.create_doc "nancy", firstname: "nancy", state: "new york", gender: "female", city: "bronx", age: 25
|
226
|
+
@db.create_doc "susan", firstname: "susan", state: "new york", gender: "female", age: 35, fullname: ["susan", "Lee"]
|
227
|
+
design_doc = {
|
228
|
+
language: "javascript",
|
229
|
+
views: {
|
230
|
+
by_gender: {
|
231
|
+
map: "function(doc){ if(doc.gender) emit(doc.gender); }"
|
232
|
+
}
|
233
|
+
}
|
234
|
+
}
|
235
|
+
@db.create_doc "_design/my_doc", design_doc
|
236
|
+
end
|
237
|
+
describe "#view" do
|
238
|
+
it "can query a permanent view" do
|
239
|
+
result = @db.view("_design/my_doc", "by_gender")
|
240
|
+
result[:rows].count.should == 7
|
241
|
+
result[:rows].first.should include(id: "christina", key: "female")
|
242
|
+
end
|
243
|
+
it "can query a view by key" do
|
244
|
+
result = @db.view("_design/my_doc", "by_gender", key: '"male"')
|
245
|
+
result[:rows].count.should == 3
|
246
|
+
result[:rows].first.should include(id: "james", key: "male")
|
247
|
+
end
|
248
|
+
it "can return query results in descending order" do
|
249
|
+
result = @db.view("_design/my_doc", "by_gender", key: '"male"', descending: true)
|
250
|
+
result[:rows].first.should include(id: "martin", key: "male")
|
251
|
+
end
|
252
|
+
it "can limit the number of documents returned by query" do
|
253
|
+
limit = 4
|
254
|
+
result = @db.view("_design/my_doc", "by_gender", limit: limit)
|
255
|
+
result[:rows].count.should == limit
|
256
|
+
end
|
257
|
+
it "can skip some docs in a query result" do
|
258
|
+
result = @db.view("_design/my_doc", "by_gender", skip: 2)
|
259
|
+
result[:rows].count.should == 5
|
260
|
+
end
|
261
|
+
it "raises an exception when view is not found" do
|
262
|
+
expect{ @db.view("_design/my_doc", "not_found") }.to raise_error(Leanback::CouchdbException)
|
263
|
+
end
|
264
|
+
it "raises an exception when design_doc is not found" do
|
265
|
+
expect{ @db.view("_design/not_found", "by_gender") }.to raise_error(Leanback::CouchdbException)
|
266
|
+
end
|
267
|
+
it "can query views by startkey to endkey" do
|
268
|
+
#return only people in their twenties
|
269
|
+
design_doc = {
|
270
|
+
language: "javascript",
|
271
|
+
views: {
|
272
|
+
people_by_age: {
|
273
|
+
map: "function(doc){ if(doc.age) emit(doc.age); }"
|
274
|
+
}
|
275
|
+
}
|
276
|
+
}
|
277
|
+
@db.create_doc "_design/ages", design_doc
|
278
|
+
result = @db.view("_design/ages", "people_by_age", startkey: 20, endkey: 29)
|
279
|
+
result[:rows].count.should == 4
|
280
|
+
result[:rows].first.should include(id: "christina", key: 22)
|
281
|
+
|
282
|
+
#return only people 31 and above
|
283
|
+
result = @db.view("_design/ages", "people_by_age", startkey: 31)
|
284
|
+
result[:rows].count.should == 3
|
285
|
+
result[:rows].first.should include(id: "lisa", key: 31)
|
286
|
+
end
|
287
|
+
it "can query startkey to endkey as a string" do
|
288
|
+
result = @db.view("_design/my_doc", "by_gender", startkey: '"female"', endkey: '"female"')
|
289
|
+
result[:rows].count.should == 4
|
290
|
+
end
|
291
|
+
it "can query with compound startkey and endkeys" do
|
292
|
+
design_doc = {
|
293
|
+
language: "javascript",
|
294
|
+
views: {
|
295
|
+
people_by_gender_and_city: {
|
296
|
+
map: "function(doc){ if(doc.gender && doc.city && doc.age) emit([doc.gender, doc.city, doc.age]);}"
|
297
|
+
}
|
298
|
+
}
|
299
|
+
}
|
300
|
+
@db.create_doc "_design/gender_city", design_doc
|
301
|
+
result = @db.view("_design/gender_city", "people_by_gender_and_city", startkey: ["female", "bronx", 25].to_s, endkey: ["female", "bronx", 25].to_s)
|
302
|
+
result[:rows].count.should == 1
|
303
|
+
result[:rows].first.should include(id: "nancy", key: ["female", "bronx", 25])
|
304
|
+
end
|
305
|
+
end
|
306
|
+
describe "#where" do
|
307
|
+
it "returns documents that match specified attributes" do
|
308
|
+
docs = @db.where state: "new york", gender: "female"
|
309
|
+
docs.count.should == 4
|
310
|
+
|
311
|
+
new_docs = @db.where state: "new york", fullname: ["susan", "Lee"]
|
312
|
+
new_docs.first.should include(_id: "susan")
|
313
|
+
|
314
|
+
other_docs = @db.where city: "manhattan", age: 29
|
315
|
+
other_docs.first.should include(_id: "martin")
|
316
|
+
end
|
317
|
+
it "returns an empty array when no matching attributes is found" do
|
318
|
+
docs = @db.where notfound: "not found", something: "something"
|
319
|
+
docs.should == []
|
320
|
+
end
|
321
|
+
end
|
322
|
+
after(:each) do
|
323
|
+
@db.delete
|
324
|
+
end
|
325
|
+
end
|
326
|
+
describe "config" do
|
327
|
+
before(:each) do
|
328
|
+
@c = Leanback::Couchdb.new db_settings("")
|
329
|
+
end
|
330
|
+
it "sets and gets a config setting" do
|
331
|
+
@c.set_config("couch_httpd_auth", "timeout", '"1600"').should == true
|
332
|
+
@c.get_config("couch_httpd_auth", "timeout").should == "\"1600\"\n"
|
333
|
+
end
|
334
|
+
it "cannot get a config setting that doesnt exist" do
|
335
|
+
expect{ @c.get_config("dont_exist", "dont_exist") }.to raise_error(Leanback::CouchdbException)
|
336
|
+
end
|
337
|
+
it "deletes a config setting" do
|
338
|
+
@c.set_config("section", "option", '"value"').should == true
|
339
|
+
@c.delete_config("section", "option").should == true
|
340
|
+
end
|
341
|
+
it "cannot delete a config setting that don't exist" do
|
342
|
+
expect{ @c.delete_config("dont_exist", "dont_exist") }.to raise_error(Leanback::CouchdbException)
|
343
|
+
end
|
344
|
+
it "config setting's value must be set in correct format" do
|
345
|
+
@c.set_config("section", "option", '"value"').should == true
|
346
|
+
@c.set_config("section", "option", '"true"').should == true
|
347
|
+
@c.set_config("section", "option", '"900"').should == true
|
348
|
+
@c.set_config("section", "option", '"value"').should == true
|
349
|
+
@c.set_config("section", "option", '"[1]"').should == true
|
350
|
+
@c.delete_config("section", "option").should == true
|
351
|
+
end
|
352
|
+
it "config setting's value cannot be in the wrong format" do
|
353
|
+
expect{ @c.set_config("section", "option", "value") }.to raise_error
|
354
|
+
end
|
355
|
+
end
|
356
|
+
end
|
metadata
CHANGED
@@ -1,129 +1,114 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: leanback
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.5.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Obi Akubue
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-06-14 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
14
|
+
name: activesupport
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
|
-
name:
|
28
|
+
name: rest-client
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
42
|
+
name: json_pure
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
|
-
type: :
|
48
|
+
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
56
|
+
name: pry
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - ">="
|
68
60
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
61
|
+
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - ">="
|
76
67
|
- !ruby/object:Gem::Version
|
77
|
-
version:
|
68
|
+
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
|
-
name:
|
70
|
+
name: bundler
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - ">="
|
84
74
|
- !ruby/object:Gem::Version
|
85
|
-
version:
|
75
|
+
version: '0'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - ">="
|
92
81
|
- !ruby/object:Gem::Version
|
93
|
-
version:
|
82
|
+
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
|
-
name:
|
84
|
+
name: jeweler
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - "~>"
|
100
88
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
89
|
+
version: 1.8.7
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - "~>"
|
108
95
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
96
|
+
version: 1.8.7
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: rspec
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - ">="
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - ">="
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: '0'
|
126
|
-
description:
|
111
|
+
description: Simple Ruby interface to CouchDB
|
127
112
|
email: obioraakubue@yahoo.com
|
128
113
|
executables: []
|
129
114
|
extensions: []
|
@@ -131,102 +116,40 @@ extra_rdoc_files:
|
|
131
116
|
- LICENSE.txt
|
132
117
|
- README.md
|
133
118
|
files:
|
134
|
-
- .document
|
135
|
-
-
|
119
|
+
- ".document"
|
120
|
+
- ".travis.yml"
|
136
121
|
- Gemfile
|
137
122
|
- Gemfile.lock
|
138
123
|
- LICENSE.txt
|
139
124
|
- README.md
|
140
125
|
- Rakefile
|
141
126
|
- VERSION
|
142
|
-
- documentation/static/2011/11/20/i-moved-leanback-documentation/index.html
|
143
|
-
- documentation/static/2011/11/20/index.html
|
144
|
-
- documentation/static/2011/11/index.html
|
145
|
-
- documentation/static/2011/index.html
|
146
|
-
- documentation/static/2013/06/02/index.html
|
147
|
-
- documentation/static/2013/06/02/released-leanback-v0-3-4/index.html
|
148
|
-
- documentation/static/2013/06/09/index.html
|
149
|
-
- documentation/static/2013/06/09/released-leanback-v0-4-0/index.html
|
150
|
-
- documentation/static/2013/06/index.html
|
151
|
-
- documentation/static/2013/index.html
|
152
|
-
- documentation/static/author/admin/index.html
|
153
|
-
- documentation/static/basic-couchdb-operations/index.html
|
154
|
-
- documentation/static/category/uncategorized/index.html
|
155
|
-
- documentation/static/couchdb-configuration/index.html
|
156
|
-
- documentation/static/couchdb-security/index.html
|
157
|
-
- documentation/static/count-by-multiple-documents/index.html
|
158
|
-
- documentation/static/count-documents-by-key/index.html
|
159
|
-
- documentation/static/css/2c-l-fixed.css
|
160
|
-
- documentation/static/css/2c-l-fixed.dev.css
|
161
|
-
- documentation/static/css/2c-r-fixed.css
|
162
|
-
- documentation/static/css/2c-r-fixed.dev.css
|
163
|
-
- documentation/static/css/3c-c-fixed.css
|
164
|
-
- documentation/static/css/3c-c-fixed.dev.css
|
165
|
-
- documentation/static/css/3c-l-fixed.css
|
166
|
-
- documentation/static/css/3c-l-fixed.dev.css
|
167
|
-
- documentation/static/css/3c-r-fixed.css
|
168
|
-
- documentation/static/css/3c-r-fixed.dev.css
|
169
|
-
- documentation/static/css/holy-grail-fluid.css
|
170
|
-
- documentation/static/css/plugins.css
|
171
|
-
- documentation/static/css/print.css
|
172
|
-
- documentation/static/css/screen.css
|
173
|
-
- documentation/static/design-documents-and-permanent-views/index.html
|
174
|
-
- documentation/static/error-handling/index.html
|
175
|
-
- documentation/static/find-document-by-multiple-keys/index.html
|
176
|
-
- documentation/static/find-documents-by-key/index.html
|
177
|
-
- documentation/static/index.html
|
178
|
-
- documentation/static/leanback/index.html
|
179
|
-
- documentation/static/leanback/installation/index.html
|
180
|
-
- documentation/static/setting-the-bind_address-port/index.html
|
181
|
-
- documentation/static/style.css
|
182
127
|
- leanback.gemspec
|
183
128
|
- lib/leanback.rb
|
184
|
-
- spec/
|
185
|
-
- spec/no_admin_party/cloudant_spec.rb
|
186
|
-
- spec/no_admin_party/database_spec.rb
|
187
|
-
- spec/no_admin_party/non_admin_user_spec.rb
|
129
|
+
- spec/leanback_spec.rb
|
188
130
|
- spec/spec_base.rb
|
189
|
-
- test/helper.rb
|
190
|
-
- test/main.rb
|
191
|
-
- test/my_view.json
|
192
|
-
- test/my_views.json
|
193
|
-
- test/start.json
|
194
|
-
- test/test_leanback.rb
|
195
|
-
- test/view_age.json
|
196
131
|
homepage: http://github.com/obi-a/leanback
|
197
132
|
licenses:
|
198
133
|
- MIT
|
134
|
+
metadata: {}
|
199
135
|
post_install_message:
|
200
136
|
rdoc_options: []
|
201
137
|
require_paths:
|
202
138
|
- lib
|
203
139
|
required_ruby_version: !ruby/object:Gem::Requirement
|
204
|
-
none: false
|
205
140
|
requirements:
|
206
|
-
- -
|
141
|
+
- - ">="
|
207
142
|
- !ruby/object:Gem::Version
|
208
143
|
version: '0'
|
209
|
-
segments:
|
210
|
-
- 0
|
211
|
-
hash: 3937638598034080075
|
212
144
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
213
|
-
none: false
|
214
145
|
requirements:
|
215
|
-
- -
|
146
|
+
- - ">="
|
216
147
|
- !ruby/object:Gem::Version
|
217
148
|
version: '0'
|
218
149
|
requirements: []
|
219
150
|
rubyforge_project:
|
220
|
-
rubygems_version:
|
151
|
+
rubygems_version: 2.2.2
|
221
152
|
signing_key:
|
222
|
-
specification_version:
|
223
|
-
summary:
|
224
|
-
test_files:
|
225
|
-
- spec/admin_party/database_spec.rb
|
226
|
-
- spec/no_admin_party/cloudant_spec.rb
|
227
|
-
- spec/no_admin_party/database_spec.rb
|
228
|
-
- spec/no_admin_party/non_admin_user_spec.rb
|
229
|
-
- spec/spec_base.rb
|
230
|
-
- test/helper.rb
|
231
|
-
- test/main.rb
|
232
|
-
- test/test_leanback.rb
|
153
|
+
specification_version: 4
|
154
|
+
summary: Simple Ruby interface to CouchDB
|
155
|
+
test_files: []
|