muxer 0.3.2 → 0.3.3

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: bc7cc45319827cb82a264fb61ceace6834dbf103
4
- data.tar.gz: 2567b70818ccd266a4f100316babdc87d49bb843
3
+ metadata.gz: a3f32a3e7c97cff618878135ec7f7080eaa9eabe
4
+ data.tar.gz: 0d475ace40ae3875d4f15b0816e021a37c22db97
5
5
  SHA512:
6
- metadata.gz: a112edcd51ef627151a7a912ca37cebfa147da872fba09100e057867b034e1e03fbbefefdeb3824c244ff6f62a63e619d935e926496eed4de92becd78e9d71bd
7
- data.tar.gz: 35a7319003642836e744793143ec523dce07c15e7ef12eede6a0ecf61eca102adc22191427d9a6025e034af569ca5609a8c58422b3a7bc6627e020dc74bde53d
6
+ metadata.gz: 8bb98435f0096cc98608e74277cde145d7eb8ce71919def65657bdff5c0fa9ce3e084f98f613f0472cd4769b4e2649a435baa491f90aa54c8da7ea8240ecdec8
7
+ data.tar.gz: 736da72172e2d2e9894650a96bbf3adce9e6e1b8b125270215bf2d061f8e4c637715a29ee1b9c3f788a633986b5bc8dc433aaf6a5a57cee4eaddaec32cc002ab
@@ -72,11 +72,14 @@ module Muxer
72
72
  #
73
73
  # @return [Hash] Keys are :succeeded, :failed
74
74
  def execute
75
- @responses = {succeeded: [], failed: [], pending: [], succeeded_by_id: {}}
75
+ @responses = {succeeded: [], failed: [], pending: [], succeeded_by_id: {}, requests_by_id: {}}
76
76
  @start = Time.now
77
77
  EventMachine.run do
78
78
  requests.each do |request|
79
79
  @responses[:pending] << request.process!
80
+ if request.id
81
+ @responses[:requests_by_id][request.id] = request
82
+ end
80
83
  end
81
84
 
82
85
  EM::PeriodicTimer.new(0.001) do
data/lib/muxer/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Muxer
2
- VERSION = '0.3.2'
2
+ VERSION = '0.3.3'
3
3
  end
data/spec/muxer_spec.rb CHANGED
@@ -19,11 +19,29 @@ RSpec.describe Muxer, "execute" do
19
19
  muxer.add_url "http://www.rubydoc.info", {id: :rubydoc}
20
20
  end
21
21
 
22
- expect(response[:succeeded_by_id]).to be_kind_of(Array)
22
+
23
+ expect(response[:requests_by_id]).to be_kind_of(Hash)
24
+ expect(response[:requests_by_id][:rubydoc].url).to eq('http://www.rubydoc.info')
25
+
26
+ expect(response[:succeeded_by_id]).to be_kind_of(Hash)
23
27
  expect(response[:succeeded_by_id][:rubydoc].url).to eq('http://www.rubydoc.info')
24
28
  end
25
29
  end
26
30
 
31
+ it 'has an id with a failed request' do
32
+ VCR.use_cassette('muxer/can_have_a_request_fail', :record => :new_episodes) do
33
+ response = Muxer.execute do |muxer|
34
+ muxer.add_url "https://www.thisisabadexampledomain.com", {id: :bad}
35
+ end
36
+
37
+ expect(response[:failed]).to be_kind_of(Array)
38
+ expect(response[:failed].count).to eq(1)
39
+
40
+ expect(response[:requests_by_id]).to be_kind_of(Hash)
41
+ expect(response[:requests_by_id][:bad].url).to eq('https://www.thisisabadexampledomain.com')
42
+ end
43
+ end
44
+
27
45
  it 'can make multiple web requests' do
28
46
  VCR.use_cassette('muxer/makes_multiple_web_requests') do
29
47
  response = Muxer.execute do |muxer|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: muxer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris MacNaughton