ruby_bittorrent 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d414bccb8ae337061e4e52c33fc3c290fe27e263
4
- data.tar.gz: c06b01fc80b167b15822e1e7e89b2be7e5590262
3
+ metadata.gz: adfade802f9c86624fce5934f1a9be2fe483a407
4
+ data.tar.gz: acdcefda1479c172da244857065f42f3704643c1
5
5
  SHA512:
6
- metadata.gz: 3274ee4c62a91d6fd070113a9e4a1e0c33a00b5c73eb8efb84d82a359514bff77a7e02c26980e1c9923dcbc1a9ec95f23e32bf9f7027ef9561160870c4872dec
7
- data.tar.gz: 83ad6ca6329c9df9a9768b4341e47ffae1991a17539f440e4ad7e7088851ca783285e1b164c947319c13e6e2faebae02656ff12f3432b8874860298e8b4597f2
6
+ metadata.gz: c234f3868aecc7c25667af2402fc2a370bac363eeb614cbb55464fa4828fef7ed44686abf178f32721b9e6566408ceb096c171f2285309cc4f0387d110290a10
7
+ data.tar.gz: 48bff1f530ec403bb2e53df2cff0bc1e9450f8ebedf349be33960849de8f4bb61525dbde0db86c62ff403f7d57d8d73c6f3d5f3892ccb0d4e62f4c42e5aa6736
data/README.rdoc CHANGED
@@ -5,6 +5,20 @@ Ruby bittorrent download cli.
5
5
  = requirements
6
6
  Installed aria2 package in system (with bittorrent support).
7
7
 
8
+ = example usage (full possible options included)
9
+ require 'ruby_bittorrent'
10
+
11
+ manget_link = 'magnet:?xt=urn:btih:whatever'
12
+ BITTORRENT_OPTIONS = {
13
+ :upload_rate_limit => '100K',
14
+ :seed_ratio => 2.5,
15
+ :seed_time => 2880, # minutes
16
+ :connect_timeout => 120,
17
+ :timeout => 120,
18
+ :stop_timeout => 0,
19
+ :destination_directory => "#{ENV['HOME']}/Downloads"
20
+ }
21
+ BitTorrent.download!(manget_link, BITTORRENT_OPTIONS)
8
22
 
9
23
  == Contributing to ruby_bittorrent
10
24
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.1
data/lib/bit_torrent.rb CHANGED
@@ -6,6 +6,7 @@ class BitTorrent
6
6
  DEFAULTS = {
7
7
  :upload_rate_limit => 0,
8
8
  :seed_ratio => 1.5,
9
+ :seed_time => 1440, # minutes
9
10
  :connect_timeout => 60,
10
11
  :timeout => 60,
11
12
  :stop_timeout => 0,
@@ -51,6 +52,7 @@ class BitTorrent
51
52
  '--enable-peer-exchange=true',
52
53
  "--max-overall-upload-limit=#{upload_rate_limit}",
53
54
  "--seed-ratio=#{seed_ratio}",
55
+ "--seed-time=#{seed_time}",
54
56
  "--bt-tracker-connect-timeout=#{connect_timeout}",
55
57
  "--bt-tracker-timeout=#{timeout}",
56
58
  "--bt-stop-timeout=#{stop_timeout}",
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "ruby_bittorrent"
8
- s.version = "1.0.0"
8
+ s.version = "1.0.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Marcin Nowicki"]
12
- s.date = "2013-08-16"
12
+ s.date = "2013-08-25"
13
13
  s.description = "Ruby bittorrent download cli."
14
14
  s.email = "pr0d1r2@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -13,19 +13,20 @@ describe BitTorrent do
13
13
 
14
14
  its(:upload_rate_limit) { should == 0 }
15
15
  its(:seed_ratio) { 1.5 }
16
+ its(:seed_time) { 1440 }
16
17
  its(:connect_timeout) { 60 }
17
18
  its(:timeout) { 60 }
18
19
  its(:stop_timeout) { 0 }
19
20
  its(:destination_directory) { "." }
20
21
 
21
- its(:download_commmand) { should == "aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1.5 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=60 --bt-stop-timeout=0 '#{source}'" }
22
+ its(:download_commmand) { should == "aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1.5 --seed-time=1440 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=60 --bt-stop-timeout=0 '#{source}'" }
22
23
 
23
24
  context "when change upload rate limit" do
24
25
  let(:options) { {:upload_rate_limit => "5K" } }
25
26
 
26
27
  its(:upload_rate_limit) { should == "5K" }
27
28
 
28
- its(:download_commmand) { should == "aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=5K --seed-ratio=1.5 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=60 --bt-stop-timeout=0 '#{source}'" }
29
+ its(:download_commmand) { should == "aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=5K --seed-ratio=1.5 --seed-time=1440 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=60 --bt-stop-timeout=0 '#{source}'" }
29
30
  end
30
31
 
31
32
  context "when change seed ratio" do
@@ -33,7 +34,15 @@ describe BitTorrent do
33
34
 
34
35
  its(:seed_ratio) { should == 1 }
35
36
 
36
- its(:download_commmand) { should == "aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=60 --bt-stop-timeout=0 '#{source}'" }
37
+ its(:download_commmand) { should == "aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1 --seed-time=1440 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=60 --bt-stop-timeout=0 '#{source}'" }
38
+ end
39
+
40
+ context "when change seed time" do
41
+ let(:options) { {:seed_time => 2880 } }
42
+
43
+ its(:seed_time) { should == 2880 }
44
+
45
+ its(:download_commmand) { should == "aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1.5 --seed-time=2880 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=60 --bt-stop-timeout=0 '#{source}'" }
37
46
  end
38
47
 
39
48
  context "when change connect timeout" do
@@ -41,7 +50,7 @@ describe BitTorrent do
41
50
 
42
51
  its(:connect_timeout) { should == 120 }
43
52
 
44
- its(:download_commmand) { should == "aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1.5 --bt-tracker-connect-timeout=120 --bt-tracker-timeout=60 --bt-stop-timeout=0 '#{source}'" }
53
+ its(:download_commmand) { should == "aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1.5 --seed-time=1440 --bt-tracker-connect-timeout=120 --bt-tracker-timeout=60 --bt-stop-timeout=0 '#{source}'" }
45
54
  end
46
55
 
47
56
  context "when change timeout" do
@@ -49,7 +58,7 @@ describe BitTorrent do
49
58
 
50
59
  its(:timeout) { should == 120 }
51
60
 
52
- its(:download_commmand) { should == "aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1.5 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=120 --bt-stop-timeout=0 '#{source}'" }
61
+ its(:download_commmand) { should == "aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1.5 --seed-time=1440 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=120 --bt-stop-timeout=0 '#{source}'" }
53
62
  end
54
63
 
55
64
  context "when change stop timeout" do
@@ -57,7 +66,7 @@ describe BitTorrent do
57
66
 
58
67
  its(:stop_timeout) { should == 120 }
59
68
 
60
- its(:download_commmand) { should == "aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1.5 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=60 --bt-stop-timeout=120 '#{source}'" }
69
+ its(:download_commmand) { should == "aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1.5 --seed-time=1440 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=60 --bt-stop-timeout=120 '#{source}'" }
61
70
  end
62
71
 
63
72
  context "when change destination directory" do
@@ -65,7 +74,7 @@ describe BitTorrent do
65
74
 
66
75
  its(:destination_directory) { should == "/tmp" }
67
76
 
68
- its(:download_commmand) { should == "aria2c --dir=/tmp --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1.5 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=60 --bt-stop-timeout=0 '#{source}'" }
77
+ its(:download_commmand) { should == "aria2c --dir=/tmp --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1.5 --seed-time=1440 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=60 --bt-stop-timeout=0 '#{source}'" }
69
78
  end
70
79
 
71
80
  context "when have 2 sources" do
@@ -113,7 +122,7 @@ describe BitTorrent do
113
122
  after { the_object.download }
114
123
 
115
124
  it "should run download command in system" do
116
- the_object.should_receive(:system).with("aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1.5 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=60 --bt-stop-timeout=0 '#{source}'")
125
+ the_object.should_receive(:system).with("aria2c --dir=. --bt-enable-lpd --bt-min-crypto-level=arc4 --bt-require-crypto=true --enable-dht=true --enable-peer-exchange=true --max-overall-upload-limit=0 --seed-ratio=1.5 --seed-time=1440 --bt-tracker-connect-timeout=60 --bt-tracker-timeout=60 --bt-stop-timeout=0 '#{source}'")
117
126
  end
118
127
  end
119
128
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_bittorrent
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcin Nowicki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-16 00:00:00.000000000 Z
11
+ date: 2013-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec