trans-api 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,4 @@
1
- require 'rubygems'
2
- require 'test/unit'
3
- require File.expand_path(File.dirname(__FILE__) + "/../../lib/trans-api")
1
+ require 'test_helper'
4
2
 
5
3
  # run with config options
6
4
  #CONFIG="{\"host\":\"localhost\",\"port\":9091,\"user\":\"admin\",\"pass\":\"admin\",\"path\":\"/transmission/rpc\"}" ruby -I test test/unit/trans_connect.rb
@@ -21,14 +19,14 @@ class TransConnect < Test::Unit::TestCase
21
19
 
22
20
  # add a testing torrent
23
21
  file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-1.iso.torrent")
24
- @torrent = Trans::Api::Torrent.add_file file, paused: true
22
+ @torrent = add_torrent_base64(file)
25
23
  sleep 1
26
24
  end
27
25
 
28
26
  def teardown
29
27
  Trans::Api::Client.config = @CONFIG
30
28
 
31
- # remove the testing torrent
29
+ # # remove the testing torrent
32
30
  id = @torrent.id
33
31
  @torrent.delete! delete_local_data: true
34
32
  self.signal_wait_until(lambda{|t| t.nil?}) do
@@ -235,37 +233,11 @@ class TransConnect < Test::Unit::TestCase
235
233
  stopped_torrents = tc.torrent_get([:id, :name, :status], start_ids)
236
234
  end
237
235
  assert stopped_torrents.reject{|t| Trans::Api::Torrent::STATUS[t[:status]] == :stopped }.size == 0, "still some running torrents"
238
-
239
-
240
236
  else
241
237
  assert false, "no torrent files found!"
242
238
  end
243
239
  end
244
240
 
245
- def test_torrent_add_remove_single
246
- tc = Trans::Api::Connect.new @CONFIG
247
-
248
- # add test file
249
- file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-2.iso.torrent")
250
- torrent = tc.torrent_add filename: file, paused: true
251
-
252
- # get submitted torrent
253
- torrent_get = tc.torrent_get([:id, :name, :status], [torrent[:id]]).first
254
- assert torrent_get[:id] == torrent[:id]
255
-
256
- # remove torrent and cleanup
257
- torrent_remove = tc.torrent_remove({delete_local_data: true}, [torrent[:id]])
258
-
259
-
260
- torrent_get = nil
261
- self.signal_wait_until(lambda{|t| t.nil?}) do
262
- torrent_get = tc.torrent_get([:id, :name, :status], [torrent[:id]]).first
263
- end
264
-
265
- assert torrent_get.nil?
266
-
267
- end
268
-
269
241
 
270
242
  def test_torrent_files_unwatched
271
243
  tc = Trans::Api::Connect.new @CONFIG
@@ -275,10 +247,8 @@ class TransConnect < Test::Unit::TestCase
275
247
  end
276
248
 
277
249
  #TODO: add test here!
278
-
279
250
  end
280
251
 
281
-
282
252
  def test_torrent_start_now
283
253
  tc = Trans::Api::Connect.new @CONFIG
284
254
  # get first torrent
@@ -291,18 +261,6 @@ class TransConnect < Test::Unit::TestCase
291
261
  assert Trans::Api::Torrent::STATUS[torrent[:status]] != :stopped
292
262
  end
293
263
 
294
- def test_torrent_verify
295
- tc = Trans::Api::Connect.new @CONFIG
296
- torrents = tc.torrent_get([:id, :name, :status])
297
-
298
- torrents.each do |torrent|
299
- tc.torrent_verify([torrent[:id]])
300
- t = tc.torrent_get([:recheckProgress], [torrent[:id]]).first
301
- assert t[:recheckProgress] > 0
302
- end
303
-
304
- end
305
-
306
264
  def test_torrent_reannounce
307
265
  tc = Trans::Api::Connect.new @CONFIG
308
266
  torrents = tc.torrent_get([:id, :name, :status])
@@ -323,128 +281,34 @@ class TransConnect < Test::Unit::TestCase
323
281
 
324
282
  # load torrent
325
283
  torrents = tc.torrent_get([:id, :name, :status, :downloadDir])
326
- assert torrents.size >0
284
+ assert torrents.size >0, "should have a torrent"
327
285
  torrents.each do |torrent|
328
286
  tc.torrent_set_location({move: true, location: file} ,[torrent[:id]])
329
287
  end
330
-
331
288
  # reload torrent
332
289
  torrents = tc.torrent_get([:id, :name, :status, :downloadDir])
333
- assert torrents.size >0
290
+ assert torrents.size >0, "should have a torrent"
334
291
  torrents.each do |torrent|
335
- assert torrent[:downloadDir] == file
292
+ assert torrent[:downloadDir] == file, "files don't match"
336
293
  end
337
294
 
338
295
  end
339
296
 
340
297
 
341
298
 
299
+ protected
342
300
 
343
- # MISC
344
-
345
- def test_blocklist_update
346
- tc = Trans::Api::Connect.new @CONFIG
347
- response = tc.blocklist_update
348
- assert response.include? :blocklist_size
349
- assert response[:blocklist_size].class == Fixnum
350
- end
351
-
352
- def test_port_test
353
- tc = Trans::Api::Connect.new @CONFIG
354
- response = tc.port_test
355
- assert response.include? :port_is_open
356
- assert response[:port_is_open].class == FalseClass || response[:port_is_open].class == TrueClass
357
- end
358
-
359
-
360
- # QUEUE
361
-
362
- def test_queue_movement
363
- tc = Trans::Api::Connect.new @CONFIG
364
-
365
- torrents = []
366
-
367
- # add a bunch of files
368
- file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-2.iso.torrent")
369
- torrents << tc.torrent_add(filename: file, paused: true)
370
- file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-3.iso.torrent")
371
- torrents << tc.torrent_add(filename: file, paused: true)
372
- file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-4.iso.torrent")
373
- torrents << tc.torrent_add(filename: file, paused: true)
374
- file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-5.iso.torrent")
375
- torrents << tc.torrent_add(filename: file, paused: true)
376
- file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-6.iso.torrent")
377
- torrents << tc.torrent_add(filename: file, paused: true)
378
- file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-7.iso.torrent")
379
- torrents << tc.torrent_add(filename: file, paused: true)
380
-
381
- # move bottom
382
- tc.queue_move_bottom [torrents.first[:id]]
383
-
384
-
385
- # collect all torrents
386
- all = tc.torrent_get([:id, :name, :status, :queuePosition])
387
-
388
- # isolate first and last
389
- torrent_first = all.first
390
- torrent_last = all.last
391
-
392
- # reverse queue order
393
- tc.queue_move_bottom [torrent_first[:id]]
394
- tc.queue_move_top [torrent_last[:id]]
395
-
396
- # check if order is reversed
397
- assert tc.torrent_get([:id, :name, :status, :queuePosition], [torrent_first[:id]]).first[:queuePosition] == all.size - 1
398
- assert tc.torrent_get([:id, :name, :status, :queuePosition], [torrent_last[:id]]).first[:queuePosition] == 0
399
-
400
-
401
-
402
- # get reference torrent (queueposition == 0)
403
- ref = nil
404
- all = tc.torrent_get([:id, :name, :status, :queuePosition])
405
- all.each do |t|
406
- if t[:queuePosition] == 0
407
- ref = t
408
- break
409
- end
410
- end
411
-
412
- # move down the queue list
413
- i = 0
414
- while i < all.size
415
- all = tc.torrent_get([:id, :name, :status, :queuePosition])
416
- all.each do |t|
417
- if t[:queuePosition] == i
418
- assert ref[:name] == t[:name]
419
- tc.queue_move_down [t[:id]]
420
- end
421
- end
422
- i += 1
423
- end
424
-
425
- # move up the queue list (use the last reference)
426
- while i >= 0
427
- all = tc.torrent_get([:id, :name, :status, :queuePosition])
428
- all.each do |t|
429
- if t[:queuePosition] == i
430
- assert ref[:name] == t[:name]
431
- tc.queue_move_up [t[:id]]
432
- end
433
- end
434
- i -= 1
435
- end
436
-
437
-
438
- # cleanup added torrents
439
- torrents.each do |torrent|
440
- tc.torrent_remove [torrent[:id]]
441
- sleep 0.5 # don't crash the rpc daemon!
301
+ def add_torrent_base64(file)
302
+ filename = File.basename(file, ".*")
303
+ metainfo = ""
304
+ File.open(file, 'r') do |file|
305
+ tmp = file.read
306
+ metainfo += Base64.encode64 tmp
442
307
  end
308
+ Trans::Api::Torrent.add_metainfo(metainfo, filename, paused: true)
443
309
  end
444
310
 
445
311
 
446
-
447
-
448
312
  # UTILS, probe block as long as pr callback returns false
449
313
 
450
314
  def signal_wait_until(pr, &block)
@@ -1,8 +1,4 @@
1
-
2
- require 'rubygems'
3
- require 'test/unit'
4
- require File.expand_path(File.dirname(__FILE__) + "/../../lib/trans-api")
5
-
1
+ require 'test_helper'
6
2
 
7
3
  # run with config options
8
4
  #CONFIG="{\"host\":\"localhost\",\"port\":9091,\"user\":\"admin\",\"pass\":\"admin\",\"path\":\"/transmission/rpc\"}" ruby -I test test/unit/trans_session_object.rb
@@ -15,8 +11,8 @@ require File.expand_path(File.dirname(__FILE__) + "/../../lib/trans-api")
15
11
 
16
12
  class TransSessionObject < Test::Unit::TestCase
17
13
 
18
- BLOCKLIST = "http://list.iblocklist.com/?list=bt_level3&fileformat=p2p&archiveformat=gz"
19
-
14
+ # BLOCKLIST = "http://list.iblocklist.com/?list=bt_level3&fileformat=p2p&archiveformat=gz"
15
+ BLOCKLIST = "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz"
20
16
 
21
17
  def setup
22
18
  @CONFIG = { host: "localhost", port: 9091, user: "admin", pass: "admin", path: "/transmission/rpc" }
@@ -93,8 +89,18 @@ class TransSessionObject < Test::Unit::TestCase
93
89
  # insert a broken config
94
90
  broken_config = { host: "localhost", port: 9091, user: "akdljflkasjdlfk", pass: "alskdfjlkajsdfl", path: "/transmission/rpc" }
95
91
  Trans::Api::Client.config = broken_config
96
- session.reload!
97
- assert session.stats!.nil?, "stat should be broken!"
92
+ begin
93
+ session.reload!
94
+ assert false, "should have raised an exception"
95
+ rescue
96
+ assert true
97
+ end
98
+ begin
99
+ session.stats!.nil?
100
+ assert false, "stat should be broken!"
101
+ rescue
102
+ assert true
103
+ end
98
104
  end
99
105
 
100
106
 
@@ -1,7 +1,4 @@
1
-
2
- require 'rubygems'
3
- require 'test/unit'
4
- require File.expand_path(File.dirname(__FILE__) + "/../../lib/trans-api")
1
+ require 'test_helper'
5
2
 
6
3
  # run with config options
7
4
  #CONFIG="{\"host\":\"localhost\",\"port\":9091,\"user\":\"admin\",\"pass\":\"admin\",\"path\":\"/transmission/rpc\"}" ruby -I test test/unit/trans_torrent_object.rb
@@ -22,9 +19,9 @@ class TransTorrentObject < Test::Unit::TestCase
22
19
  Trans::Api::Client.config = @CONFIG
23
20
  Trans::Api::Torrent.default_fields = [ :id, :status, :name ]
24
21
 
25
- # add a testing torrent
22
+ # # add a testing torrent
26
23
  file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-1.iso.torrent")
27
- @torrent = Trans::Api::Torrent.add_file file, paused: true
24
+ @torrent = add_torrent_base64 file
28
25
  sleep 1
29
26
  end
30
27
 
@@ -184,7 +181,7 @@ class TransTorrentObject < Test::Unit::TestCase
184
181
  def test_torrent_add_remove_single
185
182
  # add file
186
183
  file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-2.iso.torrent")
187
- torrent = Trans::Api::Torrent.add_file file, paused: true
184
+ torrent = add_torrent_base64 file
188
185
  assert torrent.id
189
186
 
190
187
  # remove the testing torrent
@@ -195,18 +192,114 @@ class TransTorrentObject < Test::Unit::TestCase
195
192
  end
196
193
  end
197
194
 
195
+ def test_torrent_add_links
196
+ torrents_size = Trans::Api::Torrent.all.size
197
+ # add torrent
198
+ file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-2.iso.torrent")
199
+ torrent = add_torrent_base64 file
200
+ # get magnet link
201
+ magnet_link = torrent.magnetLink.dup
202
+ torrent.waitfor(lambda{|t| t.last_error[:error] == "reset_exception"}).delete!(delete_local_data: true)
203
+ # check if it is removed
204
+ torrents = Trans::Api::Torrent.all
205
+ assert torrents.size == torrents_size, "torrent not removed"
206
+ # add via magnet
207
+ torrent = Trans::Api::Torrent.add_magnet(magnet_link, paused: true)
208
+ torrents = Trans::Api::Torrent.all
209
+ assert torrents.size == (torrents_size + 1), "torrent not added"
210
+ torrent.waitfor(lambda{|t| t.last_error[:error] == "reset_exception"}).delete!(delete_local_data: true)
211
+ end
212
+
198
213
 
199
214
  def test_torrent_add_remove_multiple
200
215
  file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-2.iso.torrent")
201
- torrent = Trans::Api::Torrent.add_file file, paused: true
202
-
216
+ torrent = add_torrent_base64 file
203
217
  torrents = Trans::Api::Torrent.all
204
218
 
205
219
  assert torrents.size > 0, "no loaded torrents found"
206
220
  torrent = Trans::Api::Torrent.delete_all torrents, delete_local_data: true
207
221
 
208
222
  #TODO: add assert here!!
223
+ end
209
224
 
225
+ # def test_torrent_rapid_delete
226
+ # # add a sample torrent
227
+ # 20.times.each do |t|
228
+ # ts = []
229
+ # file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-2.iso.torrent")
230
+ # ts << add_torrent_base64(file)
231
+ # file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-3.iso.torrent")
232
+ # ts << add_torrent_base64(file)
233
+ # file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-4.iso.torrent")
234
+ # ts << add_torrent_base64(file)
235
+ # file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-5.iso.torrent")
236
+ # ts << add_torrent_base64(file)
237
+ # file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-6.iso.torrent")
238
+ # ts << add_torrent_base64(file)
239
+ # file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-7.iso.torrent")
240
+ # ts << add_torrent_base64(file)
241
+ # # verify push
242
+ # torrents = Trans::Api::Torrent.all
243
+ # assert torrents.size == 7, "not 7 torrents found"
244
+ # # detect
245
+ # ts.each do |torrent|
246
+ # torrent.delete! delete_local_data: true
247
+ # end
248
+
249
+ # # wait for removal
250
+ # i = 0
251
+ # while true do
252
+ # torrents = Trans::Api::Torrent.all
253
+ # break if torrents.size == 1
254
+ # sleep 0.1
255
+ # i += 1
256
+ # assert false, "remove not received by client (iteration: #{i}/50)" if i > 20
257
+ # end
258
+
259
+ # # validate removal
260
+ # assert torrents.size == 1, "not 1 torrents found"
261
+ # end
262
+ # end
263
+
264
+ def test_torrent_rapid_safe_delete
265
+ # add a sample torrent
266
+ 10.times.each do |t|
267
+ ts = []
268
+ file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-2.iso.torrent")
269
+ ts << add_torrent_base64(file)
270
+ file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-3.iso.torrent")
271
+ ts << add_torrent_base64(file)
272
+ file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-4.iso.torrent")
273
+ ts << add_torrent_base64(file)
274
+ file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-5.iso.torrent")
275
+ ts << add_torrent_base64(file)
276
+ file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-6.iso.torrent")
277
+ ts << add_torrent_base64(file)
278
+ file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-7.iso.torrent")
279
+ ts << add_torrent_base64(file)
280
+ # verify push
281
+ torrents = Trans::Api::Torrent.all
282
+ assert torrents.size == 7, "not 7 torrents found"
283
+ # detect
284
+ ts.each do |torrent|
285
+ # use waitfor to check the last_error `reset_exception`
286
+ # the torrent object cannot be reloaded (probably because it's missing)
287
+ torrent.waitfor(lambda{|t| t.last_error[:error] == "reset_exception"}).delete!(delete_local_data: true)
288
+ end
289
+
290
+ # wait for removal
291
+ i = 0
292
+ while true do
293
+ torrents = Trans::Api::Torrent.all
294
+ break if torrents.size == 1
295
+ sleep 0.1
296
+ i += 1
297
+ assert false, "remove not received by client (iteration: #{i}/50)" if i > 20
298
+ end
299
+
300
+ # validate removal
301
+ assert torrents.size == 1, "not 1 torrents found"
302
+ end
210
303
  end
211
304
 
212
305
 
@@ -258,7 +351,7 @@ class TransTorrentObject < Test::Unit::TestCase
258
351
  file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-2.iso.torrent")
259
352
  # hammer duplicate torrent
260
353
  torrent = nil
261
- 10.times { |t| torrent = Trans::Api::Torrent.add_file(file, paused: true) }
354
+ 10.times { |t| torrent = add_torrent_base64(file) }
262
355
  assert Trans::Api::Torrent.all.size == 2
263
356
  torrent.delete!
264
357
  end
@@ -270,17 +363,17 @@ class TransTorrentObject < Test::Unit::TestCase
270
363
  # add test torrents
271
364
  torrents = []
272
365
  file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-2.iso.torrent")
273
- torrents << Trans::Api::Torrent.add_file(file, paused: true)
366
+ torrents << add_torrent_base64(file)
274
367
  file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-3.iso.torrent")
275
- torrents << Trans::Api::Torrent.add_file(file, paused: true)
368
+ torrents << add_torrent_base64(file)
276
369
  file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-4.iso.torrent")
277
- torrents << Trans::Api::Torrent.add_file(file, paused: true)
370
+ torrents << add_torrent_base64(file)
278
371
  file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-5.iso.torrent")
279
- torrents << Trans::Api::Torrent.add_file(file, paused: true)
372
+ torrents << add_torrent_base64(file)
280
373
  file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-6.iso.torrent")
281
- torrents << Trans::Api::Torrent.add_file(file, paused: true)
374
+ torrents << add_torrent_base64(file)
282
375
  file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-7.iso.torrent")
283
- torrents << Trans::Api::Torrent.add_file(file, paused: true)
376
+ torrents << add_torrent_base64(file)
284
377
 
285
378
  # collect first and last
286
379
  all = Trans::Api::Torrent.all
@@ -351,17 +444,16 @@ class TransTorrentObject < Test::Unit::TestCase
351
444
 
352
445
 
353
446
  def test_torrent_add_by_base
447
+ # puts @CONFIG.inspect
354
448
  file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-5.iso.torrent")
355
-
356
- metainfo = ""
357
- File.open(file, 'r') do |file|
358
- tmp = file.read
359
- metainfo += Base64.encode64 tmp
360
- end
361
-
362
- torrent = Trans::Api::Torrent.add_metainfo(metainfo, paused: true)
363
- assert torrent.name == "debian-6.0.6-amd64-CD-5.iso"
364
- torrent.delete!
449
+ torrent1 = add_torrent_base64(file)
450
+ assert torrent1.name == "debian-6.0.6-amd64-CD-5.iso"
451
+ # test add duplicate (returns torrent1 reloaded)
452
+ file = File.expand_path(File.dirname(__FILE__) + "/torrents/debian-6.0.6-amd64-CD-5.iso.torrent")
453
+ torrent2 = add_torrent_base64(file)
454
+ assert torrent1.id == torrent2.id
455
+ assert torrent1.name == torrent2.name
456
+ torrent1.delete!
365
457
  end
366
458
 
367
459
  def test_find_torrent_by_value_name
@@ -375,6 +467,17 @@ class TransTorrentObject < Test::Unit::TestCase
375
467
  protected
376
468
 
377
469
 
470
+ def add_torrent_base64(file)
471
+ filename = File.basename(file, ".*")
472
+ metainfo = ""
473
+ File.open(file, 'r') do |file|
474
+ tmp = file.read
475
+ metainfo += Base64.encode64 tmp
476
+ end
477
+ Trans::Api::Torrent.add_metainfo(metainfo, filename, paused: true)
478
+ end
479
+
480
+
378
481
  # UTILS, probe block as long as pr callback returns false
379
482
 
380
483
  def signal_wait_until(pr, &block)
data/trans-api.gemspec CHANGED
@@ -15,7 +15,9 @@ Gem::Specification.new do |gem|
15
15
  # dependencies
16
16
  gem.add_dependency 'nokogiri', "> 1.5.0"
17
17
  gem.add_dependency 'json', "> 1.6.1"
18
- gem.add_development_dependency "test-unit", "> 2.0.0"
18
+ gem.add_development_dependency "rake", "> 10.0.0"
19
+ gem.add_development_dependency "test-unit", "> 3.0.0"
20
+ gem.add_development_dependency "coveralls", "> 0.7.0"
19
21
 
20
22
  gem.files = `git ls-files`.split($/)
21
23
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
metadata CHANGED
@@ -1,57 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trans-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dennis Blommesteijn
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-26 00:00:00.000000000 Z
11
+ date: 2014-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">"
17
+ - - '>'
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.5.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">"
24
+ - - '>'
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.5.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">"
31
+ - - '>'
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.6.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">"
38
+ - - '>'
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.6.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>'
46
+ - !ruby/object:Gem::Version
47
+ version: 10.0.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>'
53
+ - !ruby/object:Gem::Version
54
+ version: 10.0.0
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: test-unit
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ">"
59
+ - - '>'
60
+ - !ruby/object:Gem::Version
61
+ version: 3.0.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>'
67
+ - !ruby/object:Gem::Version
68
+ version: 3.0.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: coveralls
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>'
46
74
  - !ruby/object:Gem::Version
47
- version: 2.0.0
75
+ version: 0.7.0
48
76
  type: :development
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
- - - ">"
80
+ - - '>'
53
81
  - !ruby/object:Gem::Version
54
- version: 2.0.0
82
+ version: 0.7.0
55
83
  description: Transmission (bittorrent client) RPC API for Ruby on Rails (gem)
56
84
  email:
57
85
  - dennis@blommesteijn.com
@@ -59,12 +87,16 @@ executables: []
59
87
  extensions: []
60
88
  extra_rdoc_files: []
61
89
  files:
62
- - ".gitignore"
90
+ - .gitignore
91
+ - .travis.yml
92
+ - .vagrant/bootstrap/settings.json
93
+ - .vagrant/bootstrap/testing.sh
63
94
  - Gemfile
64
95
  - Gemfile.lock
65
96
  - LICENSE.txt
66
97
  - README.md
67
98
  - Rakefile
99
+ - Vagrantfile
68
100
  - lib/trans-api.rb
69
101
  - lib/trans-api/client.rb
70
102
  - lib/trans-api/connect.rb
@@ -72,6 +104,7 @@ files:
72
104
  - lib/trans-api/session.rb
73
105
  - lib/trans-api/torrent.rb
74
106
  - lib/trans-api/version.rb
107
+ - test/test_helper.rb
75
108
  - test/unit/torrents/debian-6.0.6-amd64-CD-1.iso.torrent
76
109
  - test/unit/torrents/debian-6.0.6-amd64-CD-2.iso.torrent
77
110
  - test/unit/torrents/debian-6.0.6-amd64-CD-3.iso.torrent
@@ -92,12 +125,12 @@ require_paths:
92
125
  - lib
93
126
  required_ruby_version: !ruby/object:Gem::Requirement
94
127
  requirements:
95
- - - ">="
128
+ - - '>='
96
129
  - !ruby/object:Gem::Version
97
130
  version: '0'
98
131
  required_rubygems_version: !ruby/object:Gem::Requirement
99
132
  requirements:
100
- - - ">="
133
+ - - '>='
101
134
  - !ruby/object:Gem::Version
102
135
  version: '0'
103
136
  requirements: []
@@ -107,6 +140,7 @@ signing_key:
107
140
  specification_version: 4
108
141
  summary: Transmission (bittorrent client) RPC API for Ruby on Rails (gem)
109
142
  test_files:
143
+ - test/test_helper.rb
110
144
  - test/unit/torrents/debian-6.0.6-amd64-CD-1.iso.torrent
111
145
  - test/unit/torrents/debian-6.0.6-amd64-CD-2.iso.torrent
112
146
  - test/unit/torrents/debian-6.0.6-amd64-CD-3.iso.torrent
@@ -117,3 +151,4 @@ test_files:
117
151
  - test/unit/trans_connect.rb
118
152
  - test/unit/trans_session_object.rb
119
153
  - test/unit/trans_torrent_object.rb
154
+ has_rdoc: