protip 0.18.3 → 0.18.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/protip/client.rb +14 -3
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8b3cc36d1a0119a9d6a0c7aa985ef1c7ec9d0c80
4
- data.tar.gz: 1172ca37789032767087b77783d8f274bac71e6e
3
+ metadata.gz: b7871c4e08b4d4cdadd1a2282403f76d02c41682
4
+ data.tar.gz: 907e4f9fd8f6683ee95c16837a3758b9ab525772
5
5
  SHA512:
6
- metadata.gz: 50fc9db60514ea58304d94e2b16ba3c9d565a748b9163ea0f1ef676a9d85c7d2b04355c9a3a92df812fb778d599b6631be9c8da79f1a2a9e0bcc082ca872c2ff
7
- data.tar.gz: 1f3adf1b6aab2af7a433d9ab3257f584ea8fbaadf8126578b44248d83733bdfdb331ce508bab4c4ff748c45bd4cdc16c3bbc37c2810789308d2cd51cb9e4fb13
6
+ metadata.gz: f69694b7ece927b37a851a5d88a96d4170325a45e6c69240707a46c1dfd5bc967314a7ba8ad3993ea3d6576e078d91a8851b10f3811698b033b59e0841866d60
7
+ data.tar.gz: 7f6d85a802d9483abc354ccfd5d25b565d4a7affa0a7075e00f6a394af50716f60eaaedcae280b3583f11c0f9115384e16c57ad5d49d44bd07d6c8be4a837493
data/lib/protip/client.rb CHANGED
@@ -31,9 +31,7 @@ module Protip
31
31
  prepare_request(request)
32
32
 
33
33
  # TODO: Shared connection object for persisent connections.
34
- response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http|
35
- http.request request
36
- end
34
+ response = execute_request(request)
37
35
 
38
36
  if response.is_a?(Net::HTTPUnprocessableEntity)
39
37
  raise ::Protip::UnprocessableEntityError.new(request, response)
@@ -63,5 +61,18 @@ module Protip
63
61
  def prepare_request(request)
64
62
  # No-op by default.
65
63
  end
64
+
65
+ # Helper for obtaining the API server's response, overridable if any special handling
66
+ # is needed.
67
+ # TODO: (possibly) merge this with +prepare_request+
68
+ #
69
+ # @param request [Net::HTTPGenericRequest] the raw request object to send
70
+ # @return [Net::HTTPResponse] the response for the given request
71
+ def execute_request(request)
72
+ uri = request.uri
73
+ Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http|
74
+ http.request request
75
+ end
76
+ end
66
77
  end
67
78
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protip
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.3
4
+ version: 0.18.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - AngelList
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-10 00:00:00.000000000 Z
11
+ date: 2016-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel