protip 0.18.3 → 0.18.4

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 +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