pocket-ruby 0.0.4 → 0.0.5
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.
- data/.gitignore +1 -1
- data/README.md +20 -1
- data/demo-server.rb +12 -7
- data/lib/faraday/raise_pocket_error.rb +1 -1
- data/lib/pocket/oauth.rb +9 -0
- data/lib/pocket/version.rb +1 -1
- data/pocket-ruby.gemspec +3 -3
- metadata +37 -37
- data/Gemfile.lock +0 -62
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,2 +1,21 @@
|
|
1
1
|
pocket-ruby
|
2
|
-
===========
|
2
|
+
===========
|
3
|
+
|
4
|
+
[](https://codeclimate.com/github/turadg/pocket-ruby) [](http://badge.fury.io/rb/pocket-ruby)
|
5
|
+
|
6
|
+
Ruby API for v3 of the [Pocket API](http://getpocket.com/developer/docs/overview) (formerly Read It Later)
|
7
|
+
|
8
|
+
# Usage
|
9
|
+
|
10
|
+
Just clone the repo here and refer to the demo-server.rb file for examples on how to interact with the Pocket API.
|
11
|
+
|
12
|
+
```sh
|
13
|
+
git clone
|
14
|
+
cd pocket-ruby
|
15
|
+
bundle install
|
16
|
+
ruby demo-server.rb
|
17
|
+
```
|
18
|
+
|
19
|
+
Pocket-Ruby can be installed via the gem, ```gem install pocket-ruby```
|
20
|
+
|
21
|
+
Or via bundler, ```gem 'pocket-ruby', '~> 0.0.5'```
|
data/demo-server.rb
CHANGED
@@ -18,11 +18,11 @@ end
|
|
18
18
|
get "/" do
|
19
19
|
puts "GET /"
|
20
20
|
puts "session: #{session}"
|
21
|
-
|
21
|
+
|
22
22
|
if session[:access_token]
|
23
23
|
'
|
24
|
-
<a href="/add?url=http://
|
25
|
-
<a href="/retrieve">Retrieve
|
24
|
+
<a href="/add?url=http://getpocket.com">Add Pocket Homepage</a>
|
25
|
+
<a href="/retrieve">Retrieve single item</a>
|
26
26
|
'
|
27
27
|
else
|
28
28
|
'<a href="/oauth/connect">Connect with Pocket</a>'
|
@@ -42,21 +42,26 @@ get "/oauth/callback" do
|
|
42
42
|
puts "OAUTH CALLBACK"
|
43
43
|
puts "request.url: #{request.url}"
|
44
44
|
puts "request.body: #{request.body.read}"
|
45
|
-
|
46
|
-
session[:access_token] = access_token
|
45
|
+
result = Pocket.get_result(session[:code], :redirect_uri => CALLBACK_URL)
|
46
|
+
session[:access_token] = result['access_token']
|
47
|
+
puts result['access_token']
|
48
|
+
puts result['username']
|
49
|
+
# Alternative method to get the access token directly
|
50
|
+
#session[:access_token] = Pocket.get_access_token(session[:code])
|
51
|
+
puts session[:access_token]
|
47
52
|
puts "session: #{session}"
|
48
53
|
redirect "/"
|
49
54
|
end
|
50
55
|
|
51
56
|
get '/add' do
|
52
57
|
client = Pocket.client(:access_token => session[:access_token])
|
53
|
-
info = client.add :url => 'http://
|
58
|
+
info = client.add :url => 'http://getpocket.com'
|
54
59
|
"<pre>#{info}</pre>"
|
55
60
|
end
|
56
61
|
|
57
62
|
get "/retrieve" do
|
58
63
|
client = Pocket.client(:access_token => session[:access_token])
|
59
|
-
info = client.retrieve
|
64
|
+
info = client.retrieve(:detailType => :complete, :count => 1)
|
60
65
|
|
61
66
|
# html = "<h1>#{user.username}'s recent photos</h1>"
|
62
67
|
# for media_item in client.user_recent_media
|
data/lib/pocket/oauth.rb
CHANGED
@@ -27,6 +27,15 @@ module Pocket
|
|
27
27
|
access_token = results['access_token']
|
28
28
|
end
|
29
29
|
|
30
|
+
# Return result from authorization
|
31
|
+
def get_result(code, options={})
|
32
|
+
params = access_token_params.merge(options)
|
33
|
+
|
34
|
+
params = access_token_params.merge(:code => code).merge(options)
|
35
|
+
response = connection.post 'oauth/authorize', params
|
36
|
+
results = Hash[URI.decode_www_form(response.body)]
|
37
|
+
end
|
38
|
+
|
30
39
|
private
|
31
40
|
|
32
41
|
def access_token_params
|
data/lib/pocket/version.rb
CHANGED
data/pocket-ruby.gemspec
CHANGED
@@ -8,12 +8,12 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.add_runtime_dependency('faraday_middleware', '~> 0.8')
|
9
9
|
s.add_runtime_dependency('multi_json', '>= 1.0.3', '~> 1.0')
|
10
10
|
s.add_runtime_dependency('hashie', '>= 0.4.0')
|
11
|
-
s.authors = ["Turadg Aleahmad"]
|
11
|
+
s.authors = ["Turadg Aleahmad","Jason Ng PT"]
|
12
12
|
s.description = %q{A Ruby wrapper for the Pocket API v3 (Add, Modify and Retrieve)}
|
13
|
-
s.email = ['turadg@aleahmad.net']
|
13
|
+
s.email = ['turadg@aleahmad.net',"me@jasonngpt.com"]
|
14
14
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
15
15
|
s.files = `git ls-files`.split("\n")
|
16
|
-
s.homepage = 'https://github.com/
|
16
|
+
s.homepage = 'https://github.com/turadg/pocket-ruby'
|
17
17
|
s.name = 'pocket-ruby'
|
18
18
|
s.platform = Gem::Platform::RUBY
|
19
19
|
s.require_paths = ['lib']
|
metadata
CHANGED
@@ -1,50 +1,53 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pocket-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.5
|
4
5
|
prerelease:
|
5
|
-
version: 0.0.4
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Turadg Aleahmad
|
9
|
+
- Jason Ng PT
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
date:
|
13
|
+
date: 2014-04-01 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
|
-
|
16
|
+
name: sinatra
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
16
19
|
requirements:
|
17
20
|
- - ~>
|
18
21
|
- !ruby/object:Gem::Version
|
19
22
|
version: 1.3.3
|
20
|
-
none: false
|
21
|
-
name: sinatra
|
22
23
|
type: :development
|
23
24
|
prerelease: false
|
24
|
-
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
25
27
|
requirements:
|
26
28
|
- - ~>
|
27
29
|
- !ruby/object:Gem::Version
|
28
30
|
version: 1.3.3
|
29
|
-
none: false
|
30
31
|
- !ruby/object:Gem::Dependency
|
31
|
-
|
32
|
+
name: multi_xml
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
32
35
|
requirements:
|
33
36
|
- - ! '>='
|
34
37
|
- !ruby/object:Gem::Version
|
35
38
|
version: '0'
|
36
|
-
none: false
|
37
|
-
name: multi_xml
|
38
39
|
type: :development
|
39
40
|
prerelease: false
|
40
|
-
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
41
43
|
requirements:
|
42
44
|
- - ! '>='
|
43
45
|
- !ruby/object:Gem::Version
|
44
46
|
version: '0'
|
45
|
-
none: false
|
46
47
|
- !ruby/object:Gem::Dependency
|
47
|
-
|
48
|
+
name: faraday
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
48
51
|
requirements:
|
49
52
|
- - ! '>='
|
50
53
|
- !ruby/object:Gem::Version
|
@@ -52,11 +55,10 @@ dependencies:
|
|
52
55
|
- - <
|
53
56
|
- !ruby/object:Gem::Version
|
54
57
|
version: '0.9'
|
55
|
-
none: false
|
56
|
-
name: faraday
|
57
58
|
type: :runtime
|
58
59
|
prerelease: false
|
59
|
-
|
60
|
+
version_requirements: !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
60
62
|
requirements:
|
61
63
|
- - ! '>='
|
62
64
|
- !ruby/object:Gem::Version
|
@@ -64,25 +66,26 @@ dependencies:
|
|
64
66
|
- - <
|
65
67
|
- !ruby/object:Gem::Version
|
66
68
|
version: '0.9'
|
67
|
-
none: false
|
68
69
|
- !ruby/object:Gem::Dependency
|
69
|
-
|
70
|
+
name: faraday_middleware
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
none: false
|
70
73
|
requirements:
|
71
74
|
- - ~>
|
72
75
|
- !ruby/object:Gem::Version
|
73
76
|
version: '0.8'
|
74
|
-
none: false
|
75
|
-
name: faraday_middleware
|
76
77
|
type: :runtime
|
77
78
|
prerelease: false
|
78
|
-
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
none: false
|
79
81
|
requirements:
|
80
82
|
- - ~>
|
81
83
|
- !ruby/object:Gem::Version
|
82
84
|
version: '0.8'
|
83
|
-
none: false
|
84
85
|
- !ruby/object:Gem::Dependency
|
85
|
-
|
86
|
+
name: multi_json
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
88
|
+
none: false
|
86
89
|
requirements:
|
87
90
|
- - ! '>='
|
88
91
|
- !ruby/object:Gem::Version
|
@@ -90,11 +93,10 @@ dependencies:
|
|
90
93
|
- - ~>
|
91
94
|
- !ruby/object:Gem::Version
|
92
95
|
version: '1.0'
|
93
|
-
none: false
|
94
|
-
name: multi_json
|
95
96
|
type: :runtime
|
96
97
|
prerelease: false
|
97
|
-
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
98
100
|
requirements:
|
99
101
|
- - ! '>='
|
100
102
|
- !ruby/object:Gem::Version
|
@@ -102,26 +104,26 @@ dependencies:
|
|
102
104
|
- - ~>
|
103
105
|
- !ruby/object:Gem::Version
|
104
106
|
version: '1.0'
|
105
|
-
none: false
|
106
107
|
- !ruby/object:Gem::Dependency
|
107
|
-
|
108
|
+
name: hashie
|
109
|
+
requirement: !ruby/object:Gem::Requirement
|
110
|
+
none: false
|
108
111
|
requirements:
|
109
112
|
- - ! '>='
|
110
113
|
- !ruby/object:Gem::Version
|
111
114
|
version: 0.4.0
|
112
|
-
none: false
|
113
|
-
name: hashie
|
114
115
|
type: :runtime
|
115
116
|
prerelease: false
|
116
|
-
|
117
|
+
version_requirements: !ruby/object:Gem::Requirement
|
118
|
+
none: false
|
117
119
|
requirements:
|
118
120
|
- - ! '>='
|
119
121
|
- !ruby/object:Gem::Version
|
120
122
|
version: 0.4.0
|
121
|
-
none: false
|
122
123
|
description: A Ruby wrapper for the Pocket API v3 (Add, Modify and Retrieve)
|
123
124
|
email:
|
124
125
|
- turadg@aleahmad.net
|
126
|
+
- me@jasonngpt.com
|
125
127
|
executables: []
|
126
128
|
extensions: []
|
127
129
|
extra_rdoc_files: []
|
@@ -129,7 +131,6 @@ files:
|
|
129
131
|
- .gitignore
|
130
132
|
- .yardopts
|
131
133
|
- Gemfile
|
132
|
-
- Gemfile.lock
|
133
134
|
- LICENSE.md
|
134
135
|
- README.md
|
135
136
|
- Rakefile
|
@@ -148,24 +149,24 @@ files:
|
|
148
149
|
- lib/pocket/oauth.rb
|
149
150
|
- lib/pocket/version.rb
|
150
151
|
- pocket-ruby.gemspec
|
151
|
-
homepage: https://github.com/
|
152
|
+
homepage: https://github.com/turadg/pocket-ruby
|
152
153
|
licenses: []
|
153
154
|
post_install_message:
|
154
155
|
rdoc_options: []
|
155
156
|
require_paths:
|
156
157
|
- lib
|
157
158
|
required_ruby_version: !ruby/object:Gem::Requirement
|
159
|
+
none: false
|
158
160
|
requirements:
|
159
161
|
- - ! '>='
|
160
162
|
- !ruby/object:Gem::Version
|
161
163
|
version: '0'
|
162
|
-
none: false
|
163
164
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
|
+
none: false
|
164
166
|
requirements:
|
165
167
|
- - ! '>='
|
166
168
|
- !ruby/object:Gem::Version
|
167
169
|
version: 1.3.6
|
168
|
-
none: false
|
169
170
|
requirements: []
|
170
171
|
rubyforge_project: pocket-ruby
|
171
172
|
rubygems_version: 1.8.23
|
@@ -173,4 +174,3 @@ signing_key:
|
|
173
174
|
specification_version: 3
|
174
175
|
summary: Ruby wrapper for the Pocket API v3
|
175
176
|
test_files: []
|
176
|
-
has_rdoc:
|
data/Gemfile.lock
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
pocket-ruby (0.0.3)
|
5
|
-
faraday (>= 0.7, < 0.9)
|
6
|
-
faraday_middleware (~> 0.8)
|
7
|
-
hashie (>= 0.4.0)
|
8
|
-
multi_json (~> 1.0, >= 1.0.3)
|
9
|
-
|
10
|
-
GEM
|
11
|
-
remote: http://rubygems.org/
|
12
|
-
specs:
|
13
|
-
addressable (2.3.2)
|
14
|
-
bluecloth (2.0.11)
|
15
|
-
coderay (1.0.8)
|
16
|
-
crack (0.3.1)
|
17
|
-
diff-lcs (1.1.3)
|
18
|
-
faraday (0.8.4)
|
19
|
-
multipart-post (~> 1.1)
|
20
|
-
faraday_middleware (0.9.0)
|
21
|
-
faraday (>= 0.7.4, < 0.9)
|
22
|
-
hashie (1.2.0)
|
23
|
-
method_source (0.8.1)
|
24
|
-
multi_json (1.3.7)
|
25
|
-
multi_xml (0.5.1)
|
26
|
-
multipart-post (1.1.5)
|
27
|
-
pry (0.9.10)
|
28
|
-
coderay (~> 1.0.5)
|
29
|
-
method_source (~> 0.8)
|
30
|
-
slop (~> 3.3.1)
|
31
|
-
rack (1.4.1)
|
32
|
-
rack-protection (1.2.0)
|
33
|
-
rack
|
34
|
-
rspec (2.12.0)
|
35
|
-
rspec-core (~> 2.12.0)
|
36
|
-
rspec-expectations (~> 2.12.0)
|
37
|
-
rspec-mocks (~> 2.12.0)
|
38
|
-
rspec-core (2.12.0)
|
39
|
-
rspec-expectations (2.12.0)
|
40
|
-
diff-lcs (~> 1.1.3)
|
41
|
-
rspec-mocks (2.12.0)
|
42
|
-
sinatra (1.3.3)
|
43
|
-
rack (~> 1.3, >= 1.3.6)
|
44
|
-
rack-protection (~> 1.2)
|
45
|
-
tilt (~> 1.3, >= 1.3.3)
|
46
|
-
slop (3.3.3)
|
47
|
-
tilt (1.3.3)
|
48
|
-
webmock (1.9.0)
|
49
|
-
addressable (>= 2.2.7)
|
50
|
-
crack (>= 0.1.7)
|
51
|
-
|
52
|
-
PLATFORMS
|
53
|
-
ruby
|
54
|
-
|
55
|
-
DEPENDENCIES
|
56
|
-
bluecloth (~> 2.0.11)
|
57
|
-
multi_xml
|
58
|
-
pocket-ruby!
|
59
|
-
pry (~> 0.9.10)
|
60
|
-
rspec (~> 2.4)
|
61
|
-
sinatra (~> 1.3.3)
|
62
|
-
webmock (~> 1.6)
|