instapaper 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -125,16 +125,17 @@ Instapaper.add_bookmark
125
125
  Instapaper.folders
126
126
  ```
127
127
 
128
- ## <a name="ci"></a>Build Status
129
- [![Build Status](https://secure.travis-ci.org/spagalloco/instapaper.png)][ci]
128
+ ## <a name="build"></a>Build Status
129
+ [![Build Status](https://secure.travis-ci.org/spagalloco/instapaper.png?branch=master)][travis]
130
130
 
131
- [ci]: http://travis-ci.org/spagalloco/instapaper
131
+ [travis]: http://travis-ci.org/spagalloco/instapaper
132
132
 
133
133
  ## <a name="dependencies"></a>Dependency Status
134
- [![Dependency Status](https://gemnasium.com/spagalloco/instapaper.png)][gemnasium]
134
+ [![Dependency Status](https://gemnasium.com/spagalloco/instapaper.png?travis)][gemnasium]
135
135
 
136
136
  [gemnasium]: https://gemnasium.com/spagalloco/instapaper
137
137
 
138
+
138
139
  ## Documentation
139
140
 
140
141
  [http://rdoc.info/gems/instapaper](http://rdoc.info/gems/instapaper)
data/instapaper.gemspec CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |gem|
21
21
  gem.add_development_dependency('webmock', '~> 1.7')
22
22
 
23
23
  gem.add_runtime_dependency('faraday_middleware', '~> 0.7')
24
- gem.add_runtime_dependency('multi_json', '~> 1.0.3')
24
+ gem.add_runtime_dependency('multi_json', '~> 1')
25
25
  gem.add_runtime_dependency('rash', '~> 0.3')
26
26
  gem.add_runtime_dependency('simple_oauth', '~> 0.1')
27
27
 
@@ -6,7 +6,12 @@ module Instapaper
6
6
  # Gets an OAuth access token for a user.
7
7
  def access_token(username, password)
8
8
  response = post('oauth/access_token', { :x_auth_username => username, :x_auth_password => password, :x_auth_mode => "client_auth"}, true)
9
- Hash[*response.body.split("&").map {|part| part.split("=") }.flatten]
9
+ params = response.body.split("&")
10
+ values = params.map {|part| part.split("=") }.flatten
11
+ if values.length == 1
12
+ values.unshift('error')
13
+ end
14
+ Hash[*values]
10
15
  end
11
16
 
12
17
  end
@@ -1,3 +1,3 @@
1
1
  module Instapaper
2
- VERSION = "0.2.1"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -0,0 +1 @@
1
+ Invalid xAuth credentials.
@@ -9,6 +9,8 @@ describe Instapaper::Client::User do
9
9
  before do
10
10
  stub_post("oauth/access_token").with(:body => { :x_auth_username => 'ohai', :x_auth_password => 'p455w0rd', :x_auth_mode => 'client_auth'}).
11
11
  to_return(:body => fixture("access_token.qline"), :headers => {:content_type => "text/plain; charset=utf-8"})
12
+ stub_post("oauth/access_token").with(:body => { :x_auth_username => 'inval1d', :x_auth_password => 'cr3dentials', :x_auth_mode => 'client_auth'}).
13
+ to_return(:body => fixture("invalid_credentials.qline"), :headers => {:content_type => "text/plain; charset=utf-8"})
12
14
  end
13
15
 
14
16
  it "should get the correct resource" do
@@ -23,6 +25,12 @@ describe Instapaper::Client::User do
23
25
  tokens.key?('oauth_token').should be_true
24
26
  tokens.key?('oauth_token_secret').should be_true
25
27
  end
28
+
29
+ it "should return a hash containing the error on invalid credentials" do
30
+ tokens = @client.access_token('inval1d', 'cr3dentials')
31
+ tokens.should be_a Hash
32
+ tokens.key?('error').should be_true
33
+ end
26
34
  end
27
35
 
28
36
  end
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,13 @@
1
- require 'simplecov'
2
- require File.expand_path('../../lib/instapaper', __FILE__)
1
+ unless ENV['CI']
2
+ require 'simplecov'
3
+ SimpleCov.start do
4
+ add_filter '.bundle'
5
+ add_group 'Instapaper', 'lib/instapaper'
6
+ add_group 'Specs', 'spec'
7
+ end
8
+ end
9
+
10
+ require 'instapaper'
3
11
  require 'rspec'
4
12
  require 'webmock/rspec'
5
13
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: instapaper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-03 00:00:00.000000000Z
12
+ date: 2012-12-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &2156751060 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0.9'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2156751060
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '0.9'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: rdiscount
27
- requirement: &2156750500 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ~>
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '1.6'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *2156750500
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '1.6'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: rspec
38
- requirement: &2156744600 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ~>
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '2.7'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *2156744600
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '2.7'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: simplecov
49
- requirement: &2156744140 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ~>
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0.5'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *2156744140
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '0.5'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: yard
60
- requirement: &2156743540 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ~>
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0.7'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *2156743540
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: '0.7'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: json
71
- requirement: &2156742840 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,10 +101,15 @@ dependencies:
76
101
  version: '0'
77
102
  type: :development
78
103
  prerelease: false
79
- version_requirements: *2156742840
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: webmock
82
- requirement: &2156742380 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ~>
@@ -87,10 +117,15 @@ dependencies:
87
117
  version: '1.7'
88
118
  type: :development
89
119
  prerelease: false
90
- version_requirements: *2156742380
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ version: '1.7'
91
126
  - !ruby/object:Gem::Dependency
92
127
  name: faraday_middleware
93
- requirement: &2156741920 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
94
129
  none: false
95
130
  requirements:
96
131
  - - ~>
@@ -98,21 +133,31 @@ dependencies:
98
133
  version: '0.7'
99
134
  type: :runtime
100
135
  prerelease: false
101
- version_requirements: *2156741920
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ~>
140
+ - !ruby/object:Gem::Version
141
+ version: '0.7'
102
142
  - !ruby/object:Gem::Dependency
103
143
  name: multi_json
104
- requirement: &2156741460 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
105
145
  none: false
106
146
  requirements:
107
147
  - - ~>
108
148
  - !ruby/object:Gem::Version
109
- version: 1.0.3
149
+ version: '1'
110
150
  type: :runtime
111
151
  prerelease: false
112
- version_requirements: *2156741460
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ version: '1'
113
158
  - !ruby/object:Gem::Dependency
114
159
  name: rash
115
- requirement: &2156740980 !ruby/object:Gem::Requirement
160
+ requirement: !ruby/object:Gem::Requirement
116
161
  none: false
117
162
  requirements:
118
163
  - - ~>
@@ -120,10 +165,15 @@ dependencies:
120
165
  version: '0.3'
121
166
  type: :runtime
122
167
  prerelease: false
123
- version_requirements: *2156740980
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ~>
172
+ - !ruby/object:Gem::Version
173
+ version: '0.3'
124
174
  - !ruby/object:Gem::Dependency
125
175
  name: simple_oauth
126
- requirement: &2156740520 !ruby/object:Gem::Requirement
176
+ requirement: !ruby/object:Gem::Requirement
127
177
  none: false
128
178
  requirements:
129
179
  - - ~>
@@ -131,7 +181,12 @@ dependencies:
131
181
  version: '0.1'
132
182
  type: :runtime
133
183
  prerelease: false
134
- version_requirements: *2156740520
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ~>
188
+ - !ruby/object:Gem::Version
189
+ version: '0.1'
135
190
  description: Ruby Instapaper Client
136
191
  email: steve.agalloco@gmail.com
137
192
  executables: []
@@ -141,7 +196,6 @@ files:
141
196
  - .gemtest
142
197
  - .gitignore
143
198
  - .rspec
144
- - .simplecov
145
199
  - .travis.yml
146
200
  - .yardopts
147
201
  - Gemfile
@@ -176,6 +230,7 @@ files:
176
230
  - spec/fixtures/folders_delete.json
177
231
  - spec/fixtures/folders_list.json
178
232
  - spec/fixtures/folders_set_order.json
233
+ - spec/fixtures/invalid_credentials.qline
179
234
  - spec/fixtures/verify_credentials.json
180
235
  - spec/instapaper/client/account_spec.rb
181
236
  - spec/instapaper/client/bookmark_spec.rb
@@ -196,15 +251,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
196
251
  - - ! '>='
197
252
  - !ruby/object:Gem::Version
198
253
  version: '0'
254
+ segments:
255
+ - 0
256
+ hash: -4088352479337253759
199
257
  required_rubygems_version: !ruby/object:Gem::Requirement
200
258
  none: false
201
259
  requirements:
202
260
  - - ! '>='
203
261
  - !ruby/object:Gem::Version
204
262
  version: '0'
263
+ segments:
264
+ - 0
265
+ hash: -4088352479337253759
205
266
  requirements: []
206
267
  rubyforge_project:
207
- rubygems_version: 1.8.10
268
+ rubygems_version: 1.8.23
208
269
  signing_key:
209
270
  specification_version: 3
210
271
  summary: Ruby Instapaper Client
@@ -224,6 +285,7 @@ test_files:
224
285
  - spec/fixtures/folders_delete.json
225
286
  - spec/fixtures/folders_list.json
226
287
  - spec/fixtures/folders_set_order.json
288
+ - spec/fixtures/invalid_credentials.qline
227
289
  - spec/fixtures/verify_credentials.json
228
290
  - spec/instapaper/client/account_spec.rb
229
291
  - spec/instapaper/client/bookmark_spec.rb
data/.simplecov DELETED
@@ -1 +0,0 @@
1
- SimpleCov.start