leanback 0.3.3 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,38 @@
1
+ =0.3.4
2
+ June 2, 2013
3
+ * added options for manipulating query results, the options available are limit, skip, descending, startkey, endkey
4
+ Example
5
+ options = {:skip => 10,:limit => 20}
6
+ Couchdb.find_by({:database => 'contacts', :gender => 'female'},auth_session, options)
7
+ This will skip the first 10 results and return the next 20 that match the key :gender => 'female'
8
+
9
+ Another example
10
+ options = {:startkey => "53000", :endkey => "99000",:limit => 20}
11
+ Couchdb.find_by({:database => 'employees', :salary => ''},auth_session, options)
12
+ This will return all employees with salary between 53000 and 99000.
13
+
14
+ Direct view query:
15
+ view = { :database => "employees",
16
+ :design_doc => 'salary_finder',
17
+ :view => 'find_by_salary'}
18
+ options = {:startkey => "53000", :endkey => "99000"}
19
+ Couchdb.find view, auth_session,key=nil, options
20
+ This will also return all employees with salary between 53000 and 99000.
21
+ See leanback documentation for details.
22
+
23
+ =0.3.3
24
+ May 26, 2013
25
+ * Added ability to count the number of documents in a database by a specified key.
26
+ Example:
27
+ Couchdb.count({:database => 'contacts', :gender => 'female'},auth_session)
28
+ # => 8
29
+ This will count the number of documents with gender = 'female'
30
+ See leanback documentation for details.
31
+
32
+ =0.3.2
33
+ December 01, 2012
34
+ * Fixed issues with invalid JSON on CouchDB 1.2.0
35
+
1
36
  =Leanback 0.3.1
2
37
  December 5,2011
3
38
  * Added ability to change password for non-admin users.
data/README.md CHANGED
@@ -13,6 +13,9 @@ This project is still under development. Not complete by any means. I made this
13
13
  ##Compatibility
14
14
  Upgraded and tested on CouchDB 1.2.0. CouchDB 1.0.1 should still work fine.
15
15
 
16
+ ##Changes
17
+ (https://github.com/obi-a/leanback/blob/master/Changelog.rdoc)
18
+
16
19
  ##Usage
17
20
 
18
21
 
@@ -24,6 +27,8 @@ Upgraded and tested on CouchDB 1.2.0. CouchDB 1.0.1 should still work fine.
24
27
 
25
28
  + [Find Documents by Key](http://www.whisperservers.com/leanback/find-documents-by-key/)
26
29
 
30
+ + [Count Documents by Key](http://www.whisperservers.com/leanback/count-documents-by-key/)
31
+
27
32
  + Working with [CouchDB Views](http://www.whisperservers.com/leanback/design-documents-and-permanent-views/)
28
33
 
29
34
  + [Error Handling](http://www.whisperservers.com/leanback/error-handling/)
@@ -39,6 +44,6 @@ MIT License.
39
44
 
40
45
  ##Copyright
41
46
 
42
- Copyright (c) 2011 Obi Akubue.
47
+ Copyright (c) 2013 Obi Akubue.
43
48
 
44
49
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.3
1
+ 0.3.4
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "leanback"
8
- s.version = "0.3.3"
8
+ s.version = "0.3.4"
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 = "2013-05-26"
12
+ s.date = "2013-06-02"
13
13
  s.description = "lightweight Ruby interface to CouchDB"
14
14
  s.email = "obioraakubue@yahoo.com"
15
15
  s.extra_rdoc_files = [
@@ -35,6 +35,7 @@ Gem::Specification.new do |s|
35
35
  "test/main.rb",
36
36
  "test/my_view.json",
37
37
  "test/my_views.json",
38
+ "test/start.json",
38
39
  "test/test_leanback.rb",
39
40
  "test/view_age.json"
40
41
  ]
@@ -258,17 +258,53 @@ def self.view(doc,auth_session = "")
258
258
  end
259
259
  end
260
260
 
261
+ def self.get_params(options)
262
+ params = ""
263
+ if options.has_key?(:startkey)
264
+ if options[:startkey].is_a? String
265
+ params = 'startkey="' + options[:startkey] + '"'
266
+ else
267
+ params = 'startkey=' + options[:startkey].to_s # for complex keys
268
+ end
269
+ end
270
+ if options.has_key?(:endkey)
271
+ if options[:endkey].is_a? String
272
+ params = params + '&endkey="' + options[:endkey] + '"'
273
+ else
274
+ params = params + '&endkey=' + options[:endkey].to_s #for complex keys
275
+ end
276
+ end
277
+
278
+ if options.has_key?(:limit)
279
+ params = params + "&" + "limit=" + options[:limit].to_s
280
+ end
281
+
282
+ if options.has_key?(:skip)
283
+ params = params + "&" + "skip=" + options[:skip].to_s
284
+ end
285
+
286
+ if options.has_key?(:descending)
287
+ params = params + "&" + "descending=true"
288
+ end
289
+
290
+ return params
291
+ end
292
+
293
+
261
294
  #query a permanent view
262
- def self.find(doc,auth_session = "",key=nil)
295
+ def self.find(doc,auth_session = "", key=nil, options = {})
263
296
  set_address
264
297
  db_name = doc[:database]
265
298
  design_doc_name = doc[:design_doc]
266
299
  view_name = doc[:view]
300
+ params = get_params(options)
301
+
267
302
  begin
268
303
  if key == nil
269
- response = RestClient.get 'http://' + @address + ':' + @port + '/' + db_name + '/_design/' + design_doc_name + '/_view/' + view_name,{:cookies => {"AuthSession" => auth_session}}
304
+ response = RestClient.get 'http://' + @address + ':' + @port + '/' + db_name + '/_design/' + design_doc_name + '/_view/' + view_name + '?' + URI.escape(params),{:cookies => {"AuthSession" => auth_session}}
270
305
  else
271
- response = RestClient.get 'http://' + @address + ':' + @port + '/' + db_name + '/_design/' + design_doc_name + '/_view/' + view_name + URI.escape('?key="' + key + '"'),{:cookies => {"AuthSession" => auth_session}}
306
+ key = URI.escape('?key="' + key + '"')
307
+ response = RestClient.get 'http://' + @address + ':' + @port + '/' + db_name + '/_design/' + design_doc_name + '/_view/' + view_name + key + '&' + URI.escape(params) ,{:cookies => {"AuthSession" => auth_session}}
272
308
  end
273
309
  hash = Yajl::Parser.parse(response.to_str)
274
310
  rows = hash["rows"]
@@ -279,7 +315,6 @@ def self.find(doc,auth_session = "",key=nil)
279
315
  end
280
316
  return rows
281
317
  rescue => e
282
- #puts e.inspect
283
318
  hash = Yajl::Parser.parse(e.response.to_s)
284
319
  raise CouchdbException.new(hash), "CouchDB: Error - " + hash.values[0] + ". Reason - " + hash.values[1]
285
320
  end
@@ -311,7 +346,7 @@ def self.create_design(doc,auth_session = "")
311
346
  end
312
347
 
313
348
  #Query view, create view on fly if it dosen't already exist
314
- def self.find_on_fly(doc,auth_session = "",key = nil)
349
+ def self.find_on_fly(doc,auth_session = "",key = nil, options = {})
315
350
  db_name = doc[:database]
316
351
  design_doc = doc[:design_doc]
317
352
  view = doc[:view]
@@ -319,17 +354,17 @@ def self.find_on_fly(doc,auth_session = "",key = nil)
319
354
 
320
355
  begin
321
356
  if( key == nil)
322
- docs = find({:database => db_name, :design_doc => design_doc, :view => view},auth_session)
357
+ docs = find({:database => db_name, :design_doc => design_doc, :view => view},auth_session,key=nil,options)
323
358
  else
324
- docs = find({:database => db_name, :design_doc => design_doc, :view => view},auth_session,key)
359
+ docs = find({:database => db_name, :design_doc => design_doc, :view => view},auth_session,key,options)
325
360
  end
326
361
  rescue CouchdbException => e
327
362
  document = { :database => db_name, :design_doc => design_doc, :json_doc => json_doc}
328
363
  create_design document,auth_session
329
364
  if( key == nil)
330
- docs = find({:database => db_name, :design_doc => design_doc, :view => view},auth_session)
365
+ docs = find({:database => db_name, :design_doc => design_doc, :view => view},auth_session,key=nil,options)
331
366
  else
332
- docs = find({:database => db_name, :design_doc => design_doc, :view => view},auth_session,key)
367
+ docs = find({:database => db_name, :design_doc => design_doc, :view => view},auth_session,key,options)
333
368
  end
334
369
  end
335
370
  return docs
@@ -409,7 +444,7 @@ def self.count(options,auth_session = "")
409
444
  end
410
445
 
411
446
  #find by key
412
- def self.find_by(options,auth_session = "")
447
+ def self.find_by(options,auth_session = "", params = {})
413
448
  set_address
414
449
  db_name = options[:database]
415
450
  index = options.keys[1].to_s
@@ -419,12 +454,12 @@ def self.find_by(options,auth_session = "")
419
454
 
420
455
  begin
421
456
  view = { :database => db_name, :design_doc => design_doc_name, :view => view_name}
422
- docs = find view,auth_session,search_term
457
+ docs = find view,auth_session,search_term,params
423
458
  rescue CouchdbException => e
424
459
  #add a finder/index if one doesn't already exist in the database
425
460
  #then find_by_key
426
461
  add_finder({:database => db_name, :key => index},auth_session)
427
- docs = find view,auth_session,search_term
462
+ docs = find view,auth_session,search_term,params
428
463
  end
429
464
  return docs
430
465
  end
@@ -185,6 +185,133 @@ it "should delete a document after creating it" do
185
185
  end
186
186
  end
187
187
 
188
+
189
+ it "should test finder options" do
190
+
191
+ Couchdb.create('fishes')
192
+
193
+ data = {:firstname => 'aaron', :gender =>'male', :age => '28', :salary => '50000'}
194
+ doc = {:database => 'fishes', :doc_id => 'aaron', :data => data}
195
+ Couchdb.create_doc doc
196
+
197
+ data = {:firstname => 'john', :gender =>'male', :age => '28', :salary => '60000'}
198
+ doc = {:database => 'fishes', :doc_id => 'john', :data => data}
199
+ Couchdb.create_doc doc
200
+
201
+ data = {:firstname => 'peter', :gender =>'male', :age => '45', :salary => '78000'}
202
+ doc = {:database => 'fishes', :doc_id => 'peter', :data => data}
203
+ Couchdb.create_doc doc
204
+
205
+ data = {:firstname => 'sam', :gender =>'male', :age => '28', :salary => '97000'}
206
+ doc = {:database => 'fishes', :doc_id => 'sam', :data => data}
207
+ Couchdb.create_doc doc
208
+
209
+ #create the design doc to be queryed in the test
210
+ Couchdb.find_by({:database => 'fishes', :gender => 'male'})
211
+
212
+
213
+ view = { :database => "fishes",
214
+ :design_doc => 'gender_finder',
215
+ :view => 'find_by_gender'}
216
+
217
+ hash = Couchdb.find view,"",key=nil, options = {:limit => 2, :skip => 1}
218
+ h = hash[0]
219
+ h["firstname"].should == "john"
220
+ hash.length.should == 2
221
+
222
+ Couchdb.find_by({:database => 'fishes', :gender => 'male'},"",options = {:limit => 2, :skip => 1})
223
+ h = hash[0]
224
+ h["firstname"].should == "john"
225
+ hash.length.should == 2
226
+
227
+
228
+
229
+ hash = Couchdb.find view,"",key='male', options = {:descending => true}
230
+ h = hash[0]
231
+ h["firstname"].should == "sam"
232
+
233
+ Couchdb.find_by({:database => 'fishes', :gender => 'male'},"", options = {:descending => true})
234
+ h = hash[0]
235
+ h["firstname"].should == "sam"
236
+
237
+
238
+
239
+ hash = Couchdb.find view,"",key='male', options = {:limit => 3}
240
+ hash.length.should == 3
241
+
242
+ hash = Couchdb.find view,"",key=nil, options = {:skip => 2}
243
+ h = hash[0]
244
+ h["firstname"].should == "peter"
245
+ hash.length.should == 2
246
+
247
+ hash = Couchdb.find view,"",key='male', options = {:descending => true,:limit => 1}
248
+ h = hash[0]
249
+ h["firstname"].should == "sam"
250
+ hash.length.should == 1
251
+
252
+ Couchdb.find_by({:database => 'fishes', :gender => 'male'},"", options = {:descending => true,:limit => 1})
253
+ h = hash[0]
254
+ h["firstname"].should == "sam"
255
+ hash.length.should == 1
256
+
257
+ Couchdb.find_by({:database => 'fishes', :salary => '5000'})
258
+
259
+
260
+ view = { :database => "fishes",
261
+ :design_doc => 'salary_finder',
262
+ :view => 'find_by_salary'}
263
+
264
+ hash = Couchdb.find view, "",key=nil, options = {:startkey => "3000", :endkey => "65000"}
265
+ h = hash[0]
266
+ h["firstname"].should == "aaron"
267
+ hash.length.should == 2
268
+
269
+ hash = Couchdb.find view, "",key=nil, options = {:startkey => "53000", :endkey => "99000",:limit => 2}
270
+ h = hash[0]
271
+ h["firstname"].should == "john"
272
+ hash.length.should == 2
273
+
274
+ Couchdb.find_by({:database => 'fishes', :salary => '5000'},"", options = {:startkey => "53000", :endkey => "99000",:limit => 2})
275
+ h = hash[0]
276
+ h["firstname"].should == "john"
277
+ hash.length.should == 2
278
+
279
+ view = {:database => 'fishes',
280
+ :design_doc => 'my_views',
281
+ :view => 'age_gender',
282
+ :json_doc => '/home/obi/bin/leanback/test/start.json'}
283
+
284
+ options = {:startkey => ["28","male"], :endkey => ["28","male"], :limit => 2}
285
+
286
+ hash = Couchdb.find_on_fly(view,"",key=nil, options)
287
+ h0 = hash[0]
288
+ h1 = hash[1]
289
+ h0["firstname"].should == "aaron"
290
+ h1["firstname"].should == "john"
291
+ hash.length.should == 2
292
+
293
+ options = {:startkey => ["28","male"], :endkey => ["28","male"], :skip => 1}
294
+
295
+ hash = Couchdb.find_on_fly(view,"",key=nil, options)
296
+ h0 = hash[0]
297
+ h1 = hash[1]
298
+ h0["firstname"].should == "john"
299
+ h1["firstname"].should == "sam"
300
+ hash.length.should == 2
301
+
302
+
303
+ options = {:startkey => ["28","male"], :endkey => ["28","male"]}
304
+
305
+ hash = Couchdb.find_on_fly(view,"",key=nil, options)
306
+ h0 = hash[0]
307
+ h1 = hash[1]
308
+ h0["firstname"].should == "aaron"
309
+ h1["firstname"].should == "john"
310
+ hash.length.should == 3
311
+
312
+ Couchdb.delete 'fishes'
313
+ end
314
+
188
315
  #database: administration tasks
189
316
 
190
317
  it "should set a config section, retrieve it and delete it" do
@@ -194,6 +194,132 @@ it "should delete a document after creating it" do
194
194
  end
195
195
  end
196
196
 
197
+ it "should test finder options" do
198
+
199
+ Couchdb.create('fishes',@@auth_session)
200
+
201
+ data = {:firstname => 'aaron', :gender =>'male', :age => '28', :salary => '50000'}
202
+ doc = {:database => 'fishes', :doc_id => 'aaron', :data => data}
203
+ Couchdb.create_doc doc,@@auth_session
204
+
205
+ data = {:firstname => 'john', :gender =>'male', :age => '28', :salary => '60000'}
206
+ doc = {:database => 'fishes', :doc_id => 'john', :data => data}
207
+ Couchdb.create_doc doc,@@auth_session
208
+
209
+ data = {:firstname => 'peter', :gender =>'male', :age => '45', :salary => '78000'}
210
+ doc = {:database => 'fishes', :doc_id => 'peter', :data => data}
211
+ Couchdb.create_doc doc,@@auth_session
212
+
213
+ data = {:firstname => 'sam', :gender =>'male', :age => '28', :salary => '97000'}
214
+ doc = {:database => 'fishes', :doc_id => 'sam', :data => data}
215
+ Couchdb.create_doc doc,@@auth_session
216
+
217
+ #create the design doc to be queryed in the test
218
+ Couchdb.find_by({:database => 'fishes', :gender => 'male'},@@auth_session)
219
+
220
+
221
+ view = { :database => "fishes",
222
+ :design_doc => 'gender_finder',
223
+ :view => 'find_by_gender'}
224
+
225
+ hash = Couchdb.find view,@@auth_session,key=nil, options = {:limit => 2, :skip => 1}
226
+ h = hash[0]
227
+ h["firstname"].should == "john"
228
+ hash.length.should == 2
229
+
230
+ Couchdb.find_by({:database => 'fishes', :gender => 'male'},@@auth_session,options = {:limit => 2, :skip => 1})
231
+ h = hash[0]
232
+ h["firstname"].should == "john"
233
+ hash.length.should == 2
234
+
235
+
236
+
237
+ hash = Couchdb.find view,@@auth_session,key='male', options = {:descending => true}
238
+ h = hash[0]
239
+ h["firstname"].should == "sam"
240
+
241
+ Couchdb.find_by({:database => 'fishes', :gender => 'male'},@@auth_session, options = {:descending => true})
242
+ h = hash[0]
243
+ h["firstname"].should == "sam"
244
+
245
+
246
+
247
+ hash = Couchdb.find view,@@auth_session,key='male', options = {:limit => 3}
248
+ hash.length.should == 3
249
+
250
+ hash = Couchdb.find view,@@auth_session,key=nil, options = {:skip => 2}
251
+ h = hash[0]
252
+ h["firstname"].should == "peter"
253
+ hash.length.should == 2
254
+
255
+ hash = Couchdb.find view,@@auth_session,key='male', options = {:descending => true,:limit => 1}
256
+ h = hash[0]
257
+ h["firstname"].should == "sam"
258
+ hash.length.should == 1
259
+
260
+ Couchdb.find_by({:database => 'fishes', :gender => 'male'},@@auth_session, options = {:descending => true,:limit => 1})
261
+ h = hash[0]
262
+ h["firstname"].should == "sam"
263
+ hash.length.should == 1
264
+
265
+ Couchdb.find_by({:database => 'fishes', :salary => '5000'},@@auth_session)
266
+
267
+
268
+ view = { :database => "fishes",
269
+ :design_doc => 'salary_finder',
270
+ :view => 'find_by_salary'}
271
+
272
+ hash = Couchdb.find view, @@auth_session,key=nil, options = {:startkey => "3000", :endkey => "65000"}
273
+ h = hash[0]
274
+ h["firstname"].should == "aaron"
275
+ hash.length.should == 2
276
+
277
+ hash = Couchdb.find view, @@auth_session,key=nil, options = {:startkey => "53000", :endkey => "99000",:limit => 2}
278
+ h = hash[0]
279
+ h["firstname"].should == "john"
280
+ hash.length.should == 2
281
+
282
+ Couchdb.find_by({:database => 'fishes', :salary => ''},@@auth_session, options = {:startkey => "53000", :endkey => "99000",:limit => 2})
283
+ h = hash[0]
284
+ h["firstname"].should == "john"
285
+ hash.length.should == 2
286
+
287
+ view = {:database => 'fishes',
288
+ :design_doc => 'my_views',
289
+ :view => 'age_gender',
290
+ :json_doc => '/home/obi/bin/leanback/test/start.json'}
291
+
292
+ options = {:startkey => ["28","male"], :endkey => ["28","male"], :limit => 2}
293
+
294
+ hash = Couchdb.find_on_fly(view,@@auth_session,key=nil, options)
295
+ h0 = hash[0]
296
+ h1 = hash[1]
297
+ h0["firstname"].should == "aaron"
298
+ h1["firstname"].should == "john"
299
+ hash.length.should == 2
300
+
301
+ options = {:startkey => ["28","male"], :endkey => ["28","male"], :skip => 1}
302
+
303
+ hash = Couchdb.find_on_fly(view,@@auth_session,key=nil, options)
304
+ h0 = hash[0]
305
+ h1 = hash[1]
306
+ h0["firstname"].should == "john"
307
+ h1["firstname"].should == "sam"
308
+ hash.length.should == 2
309
+
310
+
311
+ options = {:startkey => ["28","male"], :endkey => ["28","male"]}
312
+
313
+ hash = Couchdb.find_on_fly(view,@@auth_session,key=nil, options)
314
+ h0 = hash[0]
315
+ h1 = hash[1]
316
+ h0["firstname"].should == "aaron"
317
+ h1["firstname"].should == "john"
318
+ hash.length.should == 3
319
+
320
+ Couchdb.delete 'fishes',@@auth_session
321
+ end
322
+
197
323
  #database: administration tasks
198
324
 
199
325
  it "should set a config section, retrieve it and delete it" do
@@ -16,10 +16,53 @@ data = {:section => "admins",
16
16
  hash = Couchdb.login(username = 'obi',password ='trusted')
17
17
  auth_session = hash["AuthSession"]
18
18
 
19
+
20
+ view = { :database => "monitors",
21
+ :design_doc => 'tag_finder',
22
+ :view => 'find_by_tag'}
23
+
24
+ #hash = Couchdb.find view,auth_session,key='ralph', options = {:limit => 5, :skip => 1}
25
+
26
+ #hash = Couchdb.find view,auth_session,key='ralph', options = {:limit => 5}
27
+
28
+
29
+ #Couchdb.find_by({:database => 'zralph1369728249zeb1292e18b998352', :timestamp => 'Smith'},auth_session)
30
+
31
+ #Couchdb.find_by({:database => 'monitors', :test => 'Smith'},auth_session)
32
+
33
+ view = { :database => "zralph1369728249zeb1292e18b998352",
34
+ :design_doc => 'timestamp_finder',
35
+ :view => 'find_by_timestamp'}
36
+
37
+ #hash = Couchdb.find view,auth_session,key=nil, options = {:startkey => "100", :endkey => "1369728370"}
38
+
39
+ #hash = Couchdb.find view,auth_session,key="1369728370"
40
+
41
+ #start 2013-05-29 20:22:07 -0400 1369873327
42
+ #end 2013-05-29 20:19:07 -0400 1369873147
43
+
44
+ view = { :database => "monitors",
45
+ :design_doc => 'test_finder',
46
+ :view => 'find_by_test'}
47
+ hash = Couchdb.find view,auth_session,key=nil, options = {:startkey => ["1000","UP"], :endkey => ["6000","UP"]}
48
+
49
+ #hash = Couchdb.find view,auth_session,key=nil, options = {:startkey => ["3300","UP"],:descending => true}
50
+
51
+ #hash = Couchdb.find view,auth_session,key=nil, options = {:descending => true}
52
+
53
+ #hash = Couchdb.find view,auth_session,key= {:keys => ['3300','UP']}
54
+
55
+ #hash = Couchdb.find view,auth_session,key= '?keys=%5B%228800%22,%22UP%22%5D'
56
+
57
+ puts hash.inspect
58
+
59
+
60
+ ###END OF KEYS TESTING########
61
+
19
62
  #user = { :username => "david", :password => "trusted", :roles => []}
20
63
  #Couchdb.add_user(user, auth_session )
21
64
 
22
- hash = Couchdb.delete 'staff',auth_session
65
+ #hash = Couchdb.delete 'staff',auth_session
23
66
 
24
67
  #puts auth_session
25
68
 
@@ -0,0 +1,8 @@
1
+ {
2
+ "language" : "javascript",
3
+ "views" :{
4
+ "age_gender" : {
5
+ "map" : "function(doc){ if(doc.age && doc.gender) emit([doc.age, doc.gender],doc); }"
6
+ }
7
+ }
8
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leanback
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-26 00:00:00.000000000 Z
12
+ date: 2013-06-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
@@ -149,6 +149,7 @@ files:
149
149
  - test/main.rb
150
150
  - test/my_view.json
151
151
  - test/my_views.json
152
+ - test/start.json
152
153
  - test/test_leanback.rb
153
154
  - test/view_age.json
154
155
  homepage: http://github.com/obi-a/leanback
@@ -166,7 +167,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
166
167
  version: '0'
167
168
  segments:
168
169
  - 0
169
- hash: -746348248553049715
170
+ hash: 887863200366044810
170
171
  required_rubygems_version: !ruby/object:Gem::Requirement
171
172
  none: false
172
173
  requirements: