instapaper 1.0.0.pre2 → 1.0.0.pre3

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: f6911bf834c466bf44a4ad781b290748a755afb0
4
- data.tar.gz: 58b7928393bfbf9e2569b055d5d87f6438d68efb
3
+ metadata.gz: b394bf891476b148b96540e672a0802158338390
4
+ data.tar.gz: b397e12efbfe0eeb28e579d66fea4ccc0b4ad549
5
5
  SHA512:
6
- metadata.gz: 3102c9408cf4579078b29516321f43681873632f93dd154ee8d4422b7f5e4609cf2c2272f8cc3e7fa6319304b1e5974dafbb2777f88bcb0571877548e5aa7ebf
7
- data.tar.gz: b4b75bea5a250eae3ea9f3678714b029438a6db0cc5fc85e377e64b4fbaa4062bd767e3300412de2946cabba64e1be7e491a32443b0a80110db4b2e1b21eaac1
6
+ metadata.gz: 08564a692be926e773019744589923d8359ce098701d172fd8f77a69604c11f2920a673a3e920f363839a2264704118ca23fe16fff41b3c1ac3047c942ec62e0
7
+ data.tar.gz: e67be46762dbf22c8d0e3b492aaf8e02abc45d7683cfd7d11d795c975dffe5b1d627044180520b7f90ff1592c1c9092c5611041240c705d7c2669ab6bbecf182
data/instapaper.gemspec CHANGED
@@ -4,7 +4,7 @@ require 'instapaper/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.add_dependency 'addressable', '~> 2.3'
7
- spec.add_dependency 'http', '~> 0.9'
7
+ spec.add_dependency 'http', '~> 1.0'
8
8
  spec.add_dependency 'multi_json', '~> 1'
9
9
  spec.add_dependency 'simple_oauth', '~> 0.3'
10
10
  spec.add_dependency 'virtus', '~> 1'
@@ -11,6 +11,7 @@ module Instapaper
11
11
  OAuthError = Class.new(self)
12
12
 
13
13
  ERRORS = {
14
+ 401 => 'Unauthorized',
14
15
  1040 => 'Rate-limit exceeded',
15
16
  1041 => 'Premium account required',
16
17
  1042 => 'Application is suspended',
@@ -10,9 +10,7 @@ module Instapaper
10
10
  module HTTP
11
11
  class Request
12
12
  BASE_URL = 'https://www.instapaper.com'
13
- attr_accessor :client, :headers, :multipart, :options, :path,
14
- :rate_limit, :request_method, :uri
15
- alias_method :verb, :request_method
13
+ attr_accessor :client, :headers, :options, :path, :request_method, :uri
16
14
 
17
15
  # @param client [Instapaper::Client]
18
16
  # @param request_method [String, Symbol]
@@ -38,7 +36,7 @@ module Instapaper
38
36
  raw = @options.delete(:raw)
39
37
  @headers = Instapaper::HTTP::Headers.new(@client, @request_method, @uri, @options).request_headers
40
38
  options_key = @request_method == :get ? :params : :form
41
- response = ::HTTP.with(@headers).public_send(@request_method, @uri.to_s, options_key => @options)
39
+ response = ::HTTP.headers(@headers).public_send(@request_method, @uri.to_s, options_key => @options)
42
40
  fail_if_error(response, raw)
43
41
  raw ? response.to_s : parsed_response(response)
44
42
  end
@@ -50,7 +48,13 @@ module Instapaper
50
48
  end
51
49
 
52
50
  def fail_if_error_response_code(response)
53
- fail Instapaper::Error::ServiceUnavailableError if response.status != 200
51
+ return if response.status == 200
52
+
53
+ if Instapaper::Error::CODES.include?(response.status.code)
54
+ fail Instapaper::Error.from_response(response.status.code, @path)
55
+ else
56
+ fail Instapaper::Error::ServiceUnavailableError
57
+ end
54
58
  end
55
59
 
56
60
  def fail_if_error_unparseable_response(response)
@@ -1,3 +1,3 @@
1
1
  module Instapaper
2
- VERSION = '1.0.0.pre2'
2
+ VERSION = '1.0.0.pre3'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instapaper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.pre2
4
+ version: 1.0.0.pre3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Agalloco
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-10 00:00:00.000000000 Z
11
+ date: 2016-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.9'
33
+ version: '1.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.9'
40
+ version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: multi_json
43
43
  requirement: !ruby/object:Gem::Requirement