parallel_http 0.0.20 → 0.0.21

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.
Files changed (3) hide show
  1. checksums.yaml +15 -0
  2. data/lib/parallel_http.rb +15 -3
  3. metadata +5 -11
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MjRmYmQ5YWNkZGVlZjRiNzY1NWFmMDRmMjMxNDliZDZhZTg5ODBhOA==
5
+ data.tar.gz: !binary |-
6
+ NTgwMGU0NDgxZDE5NjVmNGI1MGNkMjNmZTkxYTA5NDM0MjQ0NmMyNg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ Yjg1NTJmMzliNDc4MDY0Y2RmZGY5ZDFmMmE1YzNlYTFiMjUwNjFkNjNkN2Zh
10
+ N2RhZjhmOThmNDE1N2IxNmU3ZTJlMmE1ZTk0MzUxODVjZWQ4NzM4NzMwNDU0
11
+ NTg2NmJiODI0MWZmOWMyYWViY2ZhZjcyYzY4ZDMzYTI1MjBmYjU=
12
+ data.tar.gz: !binary |-
13
+ MWJkYmFmMTUzNjBlNTYzN2FkZTViZjFhNmMwN2JlZjU5NDYwN2NkODBmYjRi
14
+ MDVkODY1NTgyMWM1NDY0YjFkZThjNjdkMDE0OGQyOTU3MDZhZmJhMGRiODc5
15
+ NWZhZDFlZjM5Y2EyMDgwZWQ2NjVjOThhOGZlMDA2ZjJjNTdlOTY=
data/lib/parallel_http.rb CHANGED
@@ -5,6 +5,8 @@ require 'iconv' if RUBY_VERSION.to_f < 1.9
5
5
 
6
6
  class ParallelHttp
7
7
  @@verbose = false
8
+ @@results = []
9
+ @@reactor_running = EM.reactor_running?
8
10
  def self.verbose!
9
11
  @@verbose = true
10
12
  end
@@ -12,7 +14,7 @@ class ParallelHttp
12
14
  def self.exec requests, options={}
13
15
  @@results = []
14
16
  @@request_size = requests.size
15
- if EM.reactor_running?
17
+ if @@reactor_running
16
18
  @@results = [{:error => "Have not tested this with an eventmachine reactor that is already running. Might have to change the code around a bit... I have an EM.stop in there and I know that would be bad if I shut down your reactor."}]
17
19
  else
18
20
  EM.run do
@@ -24,6 +26,16 @@ class ParallelHttp
24
26
  @@results
25
27
  end
26
28
 
29
+ def self.add requests, options={}
30
+ requests.each do |request|
31
+ ParallelHttp.single(request, options)
32
+ end
33
+ end
34
+
35
+ def self.results
36
+ @@results
37
+ end
38
+
27
39
  def self.exec_result id, url, result, error=nil
28
40
  body = ''
29
41
  if RUBY_VERSION.to_f < 1.9
@@ -31,10 +43,10 @@ class ParallelHttp
31
43
  else
32
44
  body = result.response.force_encoding('UTF-8').encode('UTF-16', :invalid => :replace, :replace => '').encode('UTF-8')
33
45
  end
34
- hsh = {:id => id, :url => url, :response_code => result.response_header.status, :body => body}
46
+ hsh = {:id => id, :url => result.last_effective_url, :response_code => result.response_header.status, :body => body}
35
47
  hsh.merge!(:error => error) if error
36
48
  @@results << hsh
37
- if @@request_size == @@results.size
49
+ if @@request_size == @@results.size && !@@reactor_running
38
50
  EM.stop
39
51
  end
40
52
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parallel_http
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
5
- prerelease:
4
+ version: 0.0.21
6
5
  platform: ruby
7
6
  authors:
8
7
  - Rodney Carvalho
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-19 00:00:00.000000000 Z
11
+ date: 2013-10-11 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: eventmachine
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
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
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: em-http-request
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
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
@@ -52,26 +47,25 @@ files:
52
47
  - lib/parallel_http.rb
53
48
  homepage: http://rubygems.org/gems/parallel_http
54
49
  licenses: []
50
+ metadata: {}
55
51
  post_install_message:
56
52
  rdoc_options: []
57
53
  require_paths:
58
54
  - lib
59
55
  required_ruby_version: !ruby/object:Gem::Requirement
60
- none: false
61
56
  requirements:
62
57
  - - ! '>='
63
58
  - !ruby/object:Gem::Version
64
59
  version: '0'
65
60
  required_rubygems_version: !ruby/object:Gem::Requirement
66
- none: false
67
61
  requirements:
68
62
  - - ! '>='
69
63
  - !ruby/object:Gem::Version
70
64
  version: '0'
71
65
  requirements: []
72
66
  rubyforge_project:
73
- rubygems_version: 1.8.23
67
+ rubygems_version: 2.0.6
74
68
  signing_key:
75
- specification_version: 3
69
+ specification_version: 4
76
70
  summary: Parallel HTTP calls
77
71
  test_files: []