instapaper 1.0.0.pre2 → 1.0.0.pre3

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