muxer 0.3.2 → 0.3.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.
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