rdaneel 0.2.2 → 0.2.3

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/Rakefile CHANGED
@@ -10,7 +10,7 @@ begin
10
10
  gem.email = ["edgargonzalez@gmail.com", "anibalrojas@gmail.com"]
11
11
  gem.homepage = "http://github.com/hasmanydevelopers/RDaneel"
12
12
  gem.authors = ["Edgar Gonzalez", "Anibal Rojas"]
13
- gem.add_dependency("em-http-request", ">= 0.2.11")
13
+ gem.add_dependency("em-http-request", ">= 0.2.12")
14
14
  gem.add_dependency('robot_rules', '>= 0.9.3')
15
15
  gem.add_development_dependency "rspec", ">= 1.2.9"
16
16
  gem.add_development_dependency "cucumber", ">= 0.8.5"
@@ -23,25 +23,43 @@ rescue LoadError
23
23
  end
24
24
 
25
25
  require 'cucumber/rake/task'
26
- Cucumber::Rake::Task.new(:features) do |t|
26
+
27
+ desc "Run Cucumber features with RCov"
28
+ Cucumber::Rake::Task.new(:features_rcov) do |t|
27
29
  t.cucumber_opts = "--format pretty" # Any valid command line option can go here.
28
30
  t.rcov = true
29
31
  t.rcov_opts = %w{--exclude gems\/,spec\/,features\/ --aggregate coverage.data}
30
32
  end
31
33
 
34
+ Cucumber::Rake::Task.new(:features) do |t|
35
+ t.cucumber_opts = "--format pretty" # Any valid command line option can go here.
36
+ end
37
+
38
+
32
39
  require 'spec/rake/spectask'
33
- Spec::Rake::SpecTask.new(:spec) do |spec|
40
+ Spec::Rake::SpecTask.new(:spec_rcov) do |spec|
34
41
  spec.libs << 'lib' << 'spec'
35
- spec.spec_files = FileList['spec/**/*_spec.rb']
42
+ spec.spec_files = FileList['spec/*_spec.rb']
36
43
  spec.rcov = true
37
44
  spec.rcov_opts = %w{--exclude gems\/,spec\/,features\/ --aggregate coverage.data}
38
45
  end
39
46
 
40
- desc "Run both specs and features and generate aggregated coverage"
47
+ Spec::Rake::SpecTask.new(:spec) do |spec|
48
+ spec.libs << 'lib' << 'spec'
49
+ spec.spec_files = FileList['spec/*_spec.rb']
50
+ end
51
+
52
+ desc "Run optional specs (internet access)"
53
+ Spec::Rake::SpecTask.new(:spec_optional) do |spec|
54
+ spec.libs << 'lib' << 'spec'
55
+ spec.spec_files = FileList['spec/optional/*_spec.rb']
56
+ end
57
+
58
+ desc "Run both specs and features with RCov"
41
59
  task :all_tests do |t|
42
60
  rm "coverage.data" if File.exist?("coverage.data")
43
- Rake::Task['spec'].invoke
44
- Rake::Task["features"].invoke
61
+ Rake::Task['spec_rcov'].invoke
62
+ Rake::Task['features_rcov'].invoke
45
63
  end
46
64
 
47
65
  task :features => :check_dependencies
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.2
1
+ 0.2.3
@@ -139,7 +139,7 @@ Feature: get a url without using cache
139
139
  | 200 | /robots.txt |
140
140
  | 302 | /redirect_me |
141
141
 
142
- Scenario: the url to fetch is redirected to unreacheable host:port
142
+ Scenario: the url to fetch is redirected to unreacheable port
143
143
  Given a robots.txt that allows RDaneel
144
144
  And a HelloWorld url
145
145
  And a "/redirect_me" url that redirects 301 to "http://127.0.0.1:3211/unreacheable" url
@@ -153,3 +153,39 @@ Feature: get a url without using cache
153
153
  | 200 | /robots.txt |
154
154
  | 301 | /redirect_me |
155
155
 
156
+ Scenario: the url to fetch is redirected to unreacheable host
157
+ Given a robots.txt that allows RDaneel
158
+ And a HelloWorld url
159
+ And a "/redirect_me" url that redirects 301 to "http://wrongserver/unreacheable" url
160
+ When I get the "/redirect_me" url following a maximum of 3 redirects
161
+ Then I should get a "unable to resolve server address" error
162
+ And I should get 1 redirects
163
+ And The redirects sequence should be:
164
+ | http://127.0.0.1:3210/redirect_me |
165
+ And The requests sequence should be:
166
+ | status | path |
167
+ | 200 | /robots.txt |
168
+ | 301 | /redirect_me |
169
+
170
+ Scenario: the robots.txt for the url to fetch is redirected to unreacheable host:port
171
+ Given a "/robots.txt" url that redirects 301 to "http://127.0.0.1:3211/unreacheable" url
172
+ And a HelloWorld url
173
+ When I get the "/hello_world" url following a maximum of 3 redirects
174
+ Then I should get the content for HelloWorld url
175
+ And I should get 0 redirects
176
+ And The requests sequence should be:
177
+ | status | path |
178
+ | 301 | /robots.txt |
179
+ | 200 | /hello_world |
180
+
181
+ Scenario: the robots.txt for the url to fetch is redirected to unreacheable host
182
+ Given a "/robots.txt" url that redirects 301 to "http://wrongserver/unreacheable" url
183
+ And a HelloWorld url
184
+ When I get the "/hello_world" url following a maximum of 3 redirects
185
+ Then I should get the content for HelloWorld url
186
+ And I should get 0 redirects
187
+ And The requests sequence should be:
188
+ | status | path |
189
+ | 301 | /robots.txt |
190
+ | 200 | /hello_world |
191
+
@@ -210,19 +210,23 @@ class RDaneel
210
210
  def verbose(message, client = nil, *args)
211
211
  return unless @verbose
212
212
  message.each { |l| hashed_puts('*', l) }
213
- args.each do |a|
214
- case a
215
- when :status
216
- if client.response_header.status == 0
217
- hashed_puts('< Status:', '0 (timeout)')
218
- else
219
- hashed_puts('< Status:', client.response_header.status)
220
- end
221
- when :request # this is a options hash
222
- headers = client.options[:head]
223
- headers.each { |k,v| hashed_puts('>', "#{k}: #{v}") } if headers
224
- when :response # this is an array
225
- client.response_header.each { |r| hashed_puts('<', "#{r[0]}: #{r[1]}") }
213
+ if client
214
+ args.each do |a|
215
+ case a
216
+ when :status
217
+ if client.response_header.status == 0
218
+ hashed_puts('< Status:', '0 (timeout)')
219
+ else
220
+ hashed_puts('< Status:', client.response_header.status)
221
+ end
222
+ when :request # this is a options hash
223
+ if client.options
224
+ headers = client.options[:head]
225
+ headers.each { |k,v| hashed_puts('>', "#{k}: #{v}") } if headers
226
+ end
227
+ when :response # this is an array
228
+ client.response_header.each { |r| hashed_puts('<', "#{r[0]}: #{r[1]}") }
229
+ end
226
230
  end
227
231
  end
228
232
  end
@@ -0,0 +1,104 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe "RDaneel when access a lot of urls in parallel for twitlonger.com" do
4
+
5
+ before(:each) do
6
+ @user_agent = 'Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Ubuntu/10.04 Chromium/7.0.513.0 Chrome/7.0.513.0 Safari/534.7'
7
+ @http_accept = 'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8'
8
+ end
9
+
10
+ after(:each) do
11
+ RDaneel.robots_cache = nil
12
+ end
13
+
14
+ describe "and urls are not redirected" do
15
+
16
+ before(:each) do
17
+ @urls_file = File.expand_path(File.dirname(__FILE__) + '/fixtures/twitlonger_com_urls.txt')
18
+ end
19
+
20
+ it "should get the content for each url" do
21
+ RDaneel.robots_cache = {}
22
+ RDaneel.robots_cache["http://www.twitlonger.com/robots.txt"] = ""
23
+ successes = 0
24
+ failures = 0
25
+ urls_in_queue = 0
26
+ total_urls = 0
27
+ EM.run do
28
+ File.open(@urls_file).each do |url|
29
+ unless url.nil? || url.strip.empty?
30
+ r = RDaneel.new(url)
31
+ r.callback do
32
+ successes += 1
33
+ urls_in_queue -= 1
34
+ EM.stop if urls_in_queue == 0
35
+ end
36
+ r.errback do
37
+ failures += 1
38
+ urls_in_queue -= 1
39
+ EM.stop if urls_in_queue == 0
40
+ end
41
+ r.get(:redirects => 10, :timeout => 20,
42
+ :head => {
43
+ 'user-agent' => @user_agent,
44
+ 'http_accept' => @http_accept
45
+ }
46
+ )
47
+ urls_in_queue += 1
48
+ total_urls += 1
49
+ end
50
+ end
51
+ end
52
+ successes.should == total_urls
53
+ failures.should == 0
54
+ end
55
+
56
+ end
57
+
58
+ describe "and urls are redirected" do
59
+
60
+ before(:each) do
61
+ @urls_file = File.expand_path(File.dirname(__FILE__) + '/fixtures/tl_gd_urls.txt')
62
+ end
63
+
64
+ it "should get the content for each url" do
65
+ RDaneel.robots_cache = {}
66
+ RDaneel.robots_cache["http://www.twitlonger.com/robots.txt"] = ""
67
+ RDaneel.robots_cache["http://tl.gd/robots.txt"] = ""
68
+ successes = 0
69
+ failures = 0
70
+ urls_in_queue = 0
71
+ total_urls = 0
72
+ EM.run do
73
+ File.open(@urls_file).each do |url|
74
+ unless url.nil? || url.strip.empty?
75
+ r = RDaneel.new(url)
76
+ r.callback do
77
+ successes += 1
78
+ urls_in_queue -= 1
79
+ EM.stop if urls_in_queue == 0
80
+ end
81
+ r.errback do
82
+ failures += 1
83
+ urls_in_queue -= 1
84
+ EM.stop if urls_in_queue == 0
85
+ end
86
+ r.get(:redirects => 10, :timeout => 20,
87
+ :head => {
88
+ 'user-agent' => @user_agent,
89
+ 'http_accept' => @http_accept
90
+ }
91
+ )
92
+ urls_in_queue += 1
93
+ total_urls += 1
94
+ end
95
+ end
96
+ end
97
+ successes.should == total_urls
98
+ failures.should == 0
99
+ end
100
+
101
+ end
102
+
103
+ end
104
+
@@ -0,0 +1,146 @@
1
+ http://tl.gd/3fgffg
2
+ http://tl.gd/3fgffj
3
+ http://tl.gd/3f9hua
4
+ http://tl.gd/3fgfgn
5
+ http://tl.gd/3fgfgv
6
+ http://tl.gd/3fgfh9
7
+ http://tl.gd/3fgfh7
8
+ http://tl.gd/3fgfh3
9
+ http://tl.gd/3fgfh6
10
+ http://tl.gd/3fgffi
11
+ http://tl.gd/3fgfg7
12
+ http://tl.gd/3fgfhr
13
+ http://tl.gd/3fgfhq
14
+ http://tl.gd/3fgfhu
15
+ http://tl.gd/3fgfhm
16
+ http://tl.gd/3fgfga
17
+ http://tl.gd/3fgfi8
18
+ http://tl.gd/3fgfi3
19
+ http://tl.gd/3fgfie
20
+ http://tl.gd/3fgfib
21
+ http://tl.gd/3ffsvd
22
+ http://tl.gd/3fgfj3
23
+ http://tl.gd/3fgfj7
24
+ http://tl.gd/3fgfit
25
+ http://tl.gd/3fgfjc
26
+ http://tl.gd/3fgfja
27
+ http://tl.gd/3fgfln
28
+ http://tl.gd/3fgfll
29
+ http://tl.gd/3fgflv
30
+ http://tl.gd/3fgfm3
31
+ http://tl.gd/3fgflo
32
+ http://tl.gd/3fgfm4
33
+ http://tl.gd/3fgfmd
34
+ http://tl.gd/3bkn3t
35
+ http://tl.gd/3fgfmk
36
+ http://tl.gd/3fgfn0
37
+ http://tl.gd/3ffsuj
38
+ http://tl.gd/3fgfng
39
+ http://tl.gd/3fgfnh
40
+ http://tl.gd/3fgfnm
41
+ http://tl.gd/3fgfnj
42
+ http://tl.gd/3fgfnt
43
+ http://tl.gd/3fgfnu
44
+ http://tl.gd/3fgfnn
45
+ http://tl.gd/3fgfo1
46
+ http://tl.gd/3fgfo4
47
+ http://tl.gd/3fgfo3
48
+ http://tl.gd/3fgfof
49
+ http://tl.gd/3fgfok
50
+ http://tl.gd/3fgfom
51
+ http://tl.gd/3fgfor
52
+ http://tl.gd/3fgfop
53
+ http://tl.gd/3fgfpd
54
+ http://tl.gd/3fgfph
55
+ http://tl.gd/3fgfpg
56
+ http://tl.gd/3fgfp5
57
+ http://tl.gd/3fgfp8
58
+ http://tl.gd/3fgfjj
59
+ http://tl.gd/3fgfp7
60
+ http://tl.gd/3fgfr0
61
+ http://tl.gd/3fgfri
62
+ http://tl.gd/3fgfs6
63
+ http://tl.gd/3ff20b
64
+ http://tl.gd/3ffimm
65
+ http://tl.gd/3ff2ok
66
+ http://tl.gd/3fgfrs
67
+ http://tl.gd/3fgfs3
68
+ http://tl.gd/3fgfs2
69
+ http://tl.gd/3fgfsc
70
+ http://tl.gd/3fgfso
71
+ http://tl.gd/3fgfsn
72
+ http://tl.gd/3fgfst
73
+ http://tl.gd/3fgfta
74
+ http://tl.gd/3fgfte
75
+ http://tl.gd/3fgfrl
76
+ http://tl.gd/3fgftg
77
+ http://tl.gd/3fgfu8
78
+ http://tl.gd/3ffm98
79
+ http://tl.gd/3fgg08
80
+ http://tl.gd/3fgg0k
81
+ http://tl.gd/3fgg0e
82
+ http://tl.gd/3fgg06
83
+ http://tl.gd/3fa67d
84
+ http://tl.gd/3fgg0b
85
+ http://tl.gd/3fgg0q
86
+ http://tl.gd/3fgg0i
87
+ http://tl.gd/3fgg12
88
+ http://tl.gd/3fgfj0
89
+ http://tl.gd/3fgg1d
90
+ http://tl.gd/3fgg18
91
+ http://tl.gd/3fgg1g
92
+ http://tl.gd/3fgg20
93
+ http://tl.gd/3fgg1p
94
+ http://tl.gd/3fgg1t
95
+ http://tl.gd/3fgg24
96
+ http://tl.gd/3fgg25
97
+ http://tl.gd/3fgg2b
98
+ http://tl.gd/3fgg2a
99
+ http://tl.gd/3fgg2g
100
+ http://tl.gd/3fgg2f
101
+ http://tl.gd/3fgg1v
102
+ http://tl.gd/3fgg2l
103
+ http://tl.gd/3fgg2s
104
+ http://tl.gd/3fgg2u
105
+ http://tl.gd/3fgg3b
106
+ http://tl.gd/3fgg34
107
+ http://tl.gd/3fgg5j
108
+ http://tl.gd/3fgg59
109
+ http://tl.gd/3fgg5b
110
+ http://tl.gd/3fgg5c
111
+ http://tl.gd/3fgg5m
112
+ http://tl.gd/3fgg61
113
+ http://tl.gd/3fgg5r
114
+ http://tl.gd/3fgg67
115
+ http://tl.gd/3fgg6e
116
+ http://tl.gd/3fgg69
117
+ http://tl.gd/3fgg64
118
+ http://tl.gd/3fgg6q
119
+ http://tl.gd/3fgg73
120
+ http://tl.gd/3fgem2
121
+ http://tl.gd/3fgg74
122
+ http://tl.gd/3fgg7d
123
+ http://tl.gd/3fgg79
124
+ http://tl.gd/3fgg7e
125
+ http://tl.gd/3fgg7a
126
+ http://tl.gd/3fgg78
127
+ http://tl.gd/3fgg76
128
+ http://tl.gd/3fgg77
129
+ http://tl.gd/3fgg6f
130
+ http://tl.gd/3fgg7g
131
+ http://tl.gd/3fgg7c
132
+ http://tl.gd/3668o7
133
+ http://tl.gd/3fgg8i
134
+ http://tl.gd/3fgg8d
135
+ http://tl.gd/3fgcrq
136
+ http://tl.gd/3fgg8m
137
+ http://tl.gd/3fgg8e
138
+ http://tl.gd/3fggbv
139
+ http://tl.gd/3fggc0
140
+ http://tl.gd/3fggbs
141
+ http://tl.gd/3fggbp
142
+ http://tl.gd/3fgga0
143
+ http://tl.gd/3fggc3
144
+ http://tl.gd/3fggc1
145
+ http://tl.gd/3fggbt
146
+ http://tl.gd/3fgggk
@@ -0,0 +1,147 @@
1
+ http://www.twitlonger.com/show/3fgffg
2
+ http://www.twitlonger.com/show/3fgffj
3
+ http://www.twitlonger.com/show/3f9hua
4
+ http://www.twitlonger.com/show/3fgfgn
5
+ http://www.twitlonger.com/show/3fgfgv
6
+ http://www.twitlonger.com/show/3fgfh9
7
+ http://www.twitlonger.com/show/3fgfh7
8
+ http://www.twitlonger.com/show/3fgfh3
9
+ http://www.twitlonger.com/show/3fgfh6
10
+ http://www.twitlonger.com/show/3fgffi
11
+ http://www.twitlonger.com/show/3fgfg7
12
+ http://www.twitlonger.com/show/3fgfhr
13
+ http://www.twitlonger.com/show/3fgfhq
14
+ http://www.twitlonger.com/show/3fgfhu
15
+ http://www.twitlonger.com/show/3fgfhm
16
+ http://www.twitlonger.com/show/3fgfga
17
+ http://www.twitlonger.com/show/3fgfi8
18
+ http://www.twitlonger.com/show/3fgfi3
19
+ http://www.twitlonger.com/show/3fgfie
20
+ http://www.twitlonger.com/show/3fgfib
21
+ http://www.twitlonger.com/show/3ffsvd
22
+ http://www.twitlonger.com/show/3fgfj3
23
+ http://www.twitlonger.com/show/3fgfj7
24
+ http://www.twitlonger.com/show/3fgfit
25
+ http://www.twitlonger.com/show/3fgfjc
26
+ http://www.twitlonger.com/show/3fgfja
27
+ http://www.twitlonger.com/show/3fgfln
28
+ http://www.twitlonger.com/show/3fgfll
29
+ http://www.twitlonger.com/show/3fgflv
30
+ http://www.twitlonger.com/show/3fgfm3
31
+ http://www.twitlonger.com/show/3fgflo
32
+ http://www.twitlonger.com/show/3fgfm4
33
+ http://www.twitlonger.com/show/3fgfmd
34
+ http://www.twitlonger.com/show/3bkn3t
35
+ http://www.twitlonger.com/show/3fgfmk
36
+ http://www.twitlonger.com/show/3fgfn0
37
+ http://www.twitlonger.com/show/3ffsuj
38
+ http://www.twitlonger.com/show/3fgfng
39
+ http://www.twitlonger.com/show/3fgfnh
40
+ http://www.twitlonger.com/show/3fgfnm
41
+ http://www.twitlonger.com/show/3fgfnj
42
+ http://www.twitlonger.com/show/3fgfnt
43
+ http://www.twitlonger.com/show/3fgfnu
44
+ http://www.twitlonger.com/show/3fgfnn
45
+ http://www.twitlonger.com/show/3fgfo1
46
+ http://www.twitlonger.com/show/3fgfo4
47
+ http://www.twitlonger.com/show/3fgfo3
48
+ http://www.twitlonger.com/show/3fgfof
49
+ http://www.twitlonger.com/show/3fgfok
50
+ http://www.twitlonger.com/show/3fgfom
51
+ http://www.twitlonger.com/show/3fgfor
52
+ http://www.twitlonger.com/show/3fgfop
53
+ http://www.twitlonger.com/show/3fgfpd
54
+ http://www.twitlonger.com/show/3fgfph
55
+ http://www.twitlonger.com/show/3fgfpg
56
+ http://www.twitlonger.com/show/3fgfp5
57
+ http://www.twitlonger.com/show/3fgfp8
58
+ http://www.twitlonger.com/show/3fgfjj
59
+ http://www.twitlonger.com/show/3fgfp7
60
+ http://www.twitlonger.com/show/3fgfr0
61
+ http://www.twitlonger.com/show/3fgfri
62
+ http://www.twitlonger.com/show/3fgfs6
63
+ http://www.twitlonger.com/show/3ff20b
64
+ http://www.twitlonger.com/show/3ffimm
65
+ http://www.twitlonger.com/show/3ff2ok
66
+ http://www.twitlonger.com/show/3fgfrs
67
+ http://www.twitlonger.com/show/3fgfs3
68
+ http://www.twitlonger.com/show/3fgfs2
69
+ http://www.twitlonger.com/show/3fgfsc
70
+ http://www.twitlonger.com/show/3fgfso
71
+ http://www.twitlonger.com/show/3fgfsn
72
+ http://www.twitlonger.com/show/3fgfst
73
+ http://www.twitlonger.com/show/3fgfta
74
+ http://www.twitlonger.com/show/3fgfte
75
+ http://www.twitlonger.com/show/3fgfrl
76
+ http://www.twitlonger.com/show/3fgftg
77
+ http://www.twitlonger.com/show/3fgfu8
78
+ http://www.twitlonger.com/show/3ffm98
79
+ http://www.twitlonger.com/show/3fgg08
80
+ http://www.twitlonger.com/show/3fgg0k
81
+ http://www.twitlonger.com/show/3fgg0e
82
+ http://www.twitlonger.com/show/3fgg06
83
+ http://www.twitlonger.com/show/3fa67d
84
+ http://www.twitlonger.com/show/3fgg0b
85
+ http://www.twitlonger.com/show/3fgg0q
86
+ http://www.twitlonger.com/show/3fgg0i
87
+ http://www.twitlonger.com/show/3fgg12
88
+ http://www.twitlonger.com/show/3fgfj0
89
+ http://www.twitlonger.com/show/3fgg1d
90
+ http://www.twitlonger.com/show/3fgg18
91
+ http://www.twitlonger.com/show/3fgg1g
92
+ http://www.twitlonger.com/show/3fgg20
93
+ http://www.twitlonger.com/show/3fgg1p
94
+ http://www.twitlonger.com/show/3fgg1t
95
+ http://www.twitlonger.com/show/3fgg24
96
+ http://www.twitlonger.com/show/3fgg25
97
+ http://www.twitlonger.com/show/3fgg2b
98
+ http://www.twitlonger.com/show/3fgg2a
99
+ http://www.twitlonger.com/show/3fgg2g
100
+ http://www.twitlonger.com/show/3fgg2f
101
+ http://www.twitlonger.com/show/3fgg1v
102
+ http://www.twitlonger.com/show/3fgg2l
103
+ http://www.twitlonger.com/show/3fgg2s
104
+ http://www.twitlonger.com/show/3fgg2u
105
+ http://www.twitlonger.com/show/3fgg3b
106
+ http://www.twitlonger.com/show/3fgg34
107
+ http://www.twitlonger.com/show/3fgg5j
108
+ http://www.twitlonger.com/show/3fgg59
109
+ http://www.twitlonger.com/show/3fgg5b
110
+ http://www.twitlonger.com/show/3fgg5c
111
+ http://www.twitlonger.com/show/3fgg5m
112
+ http://www.twitlonger.com/show/3fgg61
113
+ http://www.twitlonger.com/show/3fgg5r
114
+ http://www.twitlonger.com/show/3fgg67
115
+ http://www.twitlonger.com/show/3fgg6e
116
+ http://www.twitlonger.com/show/3fgg69
117
+ http://www.twitlonger.com/show/3fgg64
118
+ http://www.twitlonger.com/show/3fgg6q
119
+ http://www.twitlonger.com/show/3fgg73
120
+ http://www.twitlonger.com/show/3fgem2
121
+ http://www.twitlonger.com/show/3fgg74
122
+ http://www.twitlonger.com/show/3fgg7d
123
+ http://www.twitlonger.com/show/3fgg79
124
+ http://www.twitlonger.com/show/3fgg7e
125
+ http://www.twitlonger.com/show/3fgg7a
126
+ http://www.twitlonger.com/show/3fgg78
127
+ http://www.twitlonger.com/show/3fgg76
128
+ http://www.twitlonger.com/show/3fgg77
129
+ http://www.twitlonger.com/show/3fgg6f
130
+ http://www.twitlonger.com/show/3fgg7g
131
+ http://www.twitlonger.com/show/3fgg7c
132
+ http://www.twitlonger.com/show/3668o7
133
+ http://www.twitlonger.com/show/3fgg8i
134
+ http://www.twitlonger.com/show/3fgg8d
135
+ http://www.twitlonger.com/show/3fgcrq
136
+ http://www.twitlonger.com/show/3fgg8m
137
+ http://www.twitlonger.com/show/3fgg8e
138
+ http://www.twitlonger.com/show/3fggbv
139
+ http://www.twitlonger.com/show/3fggc0
140
+ http://www.twitlonger.com/show/3fggbs
141
+ http://www.twitlonger.com/show/3fggbp
142
+ http://www.twitlonger.com/show/3fgga0
143
+ http://www.twitlonger.com/show/3fggc3
144
+ http://www.twitlonger.com/show/3fggc1
145
+ http://www.twitlonger.com/show/3fggbt
146
+ http://www.twitlonger.com/show/3fgggk
147
+
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
2
 
3
3
  describe "RDaneel when the content is chunked (digg.com)" do
4
4
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 2
8
- - 2
9
- version: 0.2.2
8
+ - 3
9
+ version: 0.2.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Edgar Gonzalez
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-27 00:00:00 -04:30
18
+ date: 2010-09-13 00:00:00 -04:30
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -28,8 +28,8 @@ dependencies:
28
28
  segments:
29
29
  - 0
30
30
  - 2
31
- - 11
32
- version: 0.2.11
31
+ - 12
32
+ version: 0.2.12
33
33
  type: :runtime
34
34
  version_requirements: *id001
35
35
  - !ruby/object:Gem::Dependency
@@ -113,10 +113,13 @@ files:
113
113
  - features/support/burrito.rb
114
114
  - features/support/env.rb
115
115
  - lib/rdaneel.rb
116
+ - spec/optional/concurrent_load_spec.rb
117
+ - spec/optional/fixtures/tl_gd_urls.txt
118
+ - spec/optional/fixtures/twitlonger_com_urls.txt
119
+ - spec/optional/streamed_content_spec.rb
116
120
  - spec/rdaneel_spec.rb
117
121
  - spec/spec.opts
118
122
  - spec/spec_helper.rb
119
- - spec/streamed_content_spec.rb
120
123
  has_rdoc: true
121
124
  homepage: http://github.com/hasmanydevelopers/RDaneel
122
125
  licenses: []
@@ -148,6 +151,7 @@ signing_key:
148
151
  specification_version: 3
149
152
  summary: Obey robots.txt on top of em-http-request (Asynchronous HTTP Client)
150
153
  test_files:
154
+ - spec/optional/concurrent_load_spec.rb
155
+ - spec/optional/streamed_content_spec.rb
151
156
  - spec/spec_helper.rb
152
- - spec/streamed_content_spec.rb
153
157
  - spec/rdaneel_spec.rb