web_fetch 0.2.0 → 0.2.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
  SHA256:
3
- metadata.gz: efc9744475219db51912a9786698c869c139ad85334380566124c0f42096beb9
4
- data.tar.gz: 358340a89ee0a65519dd0b0cfb7adf6e15cb0e9f1d01b6fc25351394df62ffe4
3
+ metadata.gz: 22d65c1496314f4ab5ce0f6393e6c59209ccc3dff7e13657eb574111187c9674
4
+ data.tar.gz: 172a59a513ac5073b2071cc82c6a20b8143a426e77139c12bf015d40ea558b94
5
5
  SHA512:
6
- metadata.gz: 9c341ee83a5877d1537f6e4afe992fd19b45651b694c4cb18ffa9ce7131d6fd7669eecad2b368f235f586dd0083e556ab203a7e17cf1f458d0eca444b839e619
7
- data.tar.gz: a34dc8a42298aa11ae2a4cb24ce90dfc799bed47330db04e919a595a094584ca0183840f039c5aebf1bcd81742f1e2a5cffd514502a36824c026d4d277c539f1
6
+ metadata.gz: 8c57ff4c160cd76b68a84e16ddd8cc7976041b9e6c6d675ad08d616c060577e680491a30fbc5ab1fb6215bc017dafccb6d84e0c679d5bacea871b4fbfd11f063
7
+ data.tar.gz: 61481a84084e8837d1194199ccd3454cfe659d789e1eaff559779d5286ec446ae6417baa09cae10d66f2493612fb80c90c7ec75a8f9215ce1461a8684aaf233d
@@ -33,7 +33,7 @@ module WebFetch
33
33
  def alive?
34
34
  begin
35
35
  response = get('')
36
- rescue Faraday::ConnectionFailed
36
+ rescue ClientError
37
37
  return false
38
38
  end
39
39
  return false unless response.success?
@@ -102,8 +102,8 @@ module WebFetch
102
102
 
103
103
  private
104
104
 
105
- def handle_error(errors)
106
- raise WebFetch::ClientError, errors
105
+ def handle_error(error)
106
+ raise WebFetch::ClientError, error
107
107
  end
108
108
 
109
109
  def no_request_error(uid)
@@ -12,6 +12,8 @@ module WebFetch
12
12
  request.url "/#{endpoint}"
13
13
  request.params.merge!(params)
14
14
  end
15
+ rescue Faraday::ConnectionFailed => e
16
+ raise ClientError, e.message
15
17
  end
16
18
 
17
19
  def post(endpoint, body)
@@ -20,6 +22,8 @@ module WebFetch
20
22
  request.url "/#{endpoint}"
21
23
  request.body = body
22
24
  end
25
+ rescue Faraday::ConnectionFailed => e
26
+ raise ClientError, e.message
23
27
  end
24
28
  end
25
29
  end
@@ -2,10 +2,11 @@
2
2
 
3
3
  module WebFetch
4
4
  class Error < StandardError
5
- attr_reader :errors
5
+ attr_reader :error
6
6
 
7
- def initialize(errors = nil)
8
- @errors = errors
7
+ def initialize(error)
8
+ super
9
+ @error = error
9
10
  end
10
11
  end
11
12
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WebFetch
4
- VERSION = '0.2.0'
4
+ VERSION = '0.2.1'
5
5
  end
data/spec/client_spec.rb CHANGED
@@ -25,11 +25,14 @@ describe WebFetch::Client do
25
25
  end
26
26
 
27
27
  describe '#gather' do
28
- it 'makes `gather` requests to a running server' do
29
- web_request = WebFetch::Request.new do |request|
28
+ let(:web_request) do
29
+ WebFetch::Request.new do |request|
30
30
  request.url = 'http://blah.blah/success'
31
31
  request.custom = { my_key: 'my_value' }
32
32
  end
33
+ end
34
+
35
+ it 'makes `gather` requests to a running server' do
33
36
  result = client.gather([web_request])
34
37
  expect(result.first).to be_a WebFetch::Promise
35
38
  expect(result.first.uid).to_not be_nil
@@ -39,6 +42,19 @@ describe WebFetch::Client do
39
42
  it 'passes any WebFetch server errors back to the user' do
40
43
  expect { client.gather([]) }.to raise_error WebFetch::ClientError
41
44
  end
45
+
46
+ context 'handling errors when connecting to WebFetch server' do
47
+ let(:client) { WebFetch::Client.new('localhost', 8090) }
48
+
49
+ before do
50
+ stub_request(:any, %r{http://localhost:8090})
51
+ .to_return { raise Faraday::ConnectionFailed, 'foobar' }
52
+ end
53
+
54
+ subject { proc { client.gather([web_request]) } }
55
+
56
+ it { is_expected.to raise_error WebFetch::ClientError }
57
+ end
42
58
  end
43
59
 
44
60
  describe '#fetch' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web_fetch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bob Farrell