pocket-ruby 0.3.0 → 0.4.0

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
  SHA256:
3
- metadata.gz: 4d7b6ddfe9a36ea0ec8e2f9cf289882025e83f1a864edc99df3bc1deaf2aef0e
4
- data.tar.gz: 7b7e5197505e43aaf60d59187a0c453ace474e317aa135b197d4ec1883c159bc
3
+ metadata.gz: f83cad90dd723c6fca321e9c1851141faac117ecf3e34dba0880c93494485f15
4
+ data.tar.gz: 1458858158eb2ddfbe63bb732bbe07af2d15aeab6fe93f4bd015ab74641fa5b4
5
5
  SHA512:
6
- metadata.gz: 1e39623af247edd6aaf4e7d6a3ea932ec81b770cf9807b63991af63b764be306934e3a50bbdfb3ff8dfda555e8ccc5e14d8fb97edefb118749e2fe02818a0239
7
- data.tar.gz: ac0a9a2fba76645632bc045f785ac21ed1cf4687a8a873320ab73debce00a95d79415986e9a267855e34662afd4aacf6f9614648cd7ceb2b7e608efea6c71067
6
+ metadata.gz: 7e1b0318db4819e83719397f4cd3c67f2aa66a62d9e0305f93ab782fe5537d1130c0a6298b360e486554826086f9bda48a49c76ddd63923b9f9fdf9960010ba1
7
+ data.tar.gz: 355774840e30cd2841360c15725c019afdd2ad284ca1de05f028339369a9761ba83162f17a9c510b2696be5bebf253fae6a682e1e11f851e0e23dd9e3742b2c8
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.3.0] - 2021-04-18
4
+
5
+ - Fix Faraday error handling. ([#81](https://github.com/turadg/pocket-ruby/pull/81))
6
+ - Don't assume `is_article` is present ([#78](https://github.com/turadg/pocket-ruby/pull/78)).
7
+ - Handle article with missing `resolved_url` or `resolved_title` ([#77](https://github.com/turadg/pocket-ruby/pull/77))
8
+ - Remove unnecessary use of `method_missing`. ([#71](https://github.com/turadg/pocket-ruby/pull/71))
9
+ - Simplify internal structure for `Client` class and modules.
10
+
3
11
  ## [0.3.0] - 2021-04-11
4
12
 
5
13
  - Hand article with missing `excerpt`. ([#63](https://github.com/turadg/pocket-ruby/pull/63))
data/Gemfile.lock CHANGED
@@ -1,15 +1,19 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pocket-ruby (0.3.0)
5
- faraday (>= 0.7)
4
+ pocket-ruby (0.4.0)
5
+ faraday (>= 1.0)
6
6
  faraday_middleware
7
7
  multi_json (~> 1.0, >= 1.0.3)
8
8
 
9
9
  GEM
10
10
  remote: http://rubygems.org/
11
11
  specs:
12
+ addressable (2.7.0)
13
+ public_suffix (>= 2.0.2, < 5.0)
12
14
  ast (2.4.2)
15
+ crack (0.4.5)
16
+ rexml
13
17
  docile (1.3.5)
14
18
  faraday (1.3.0)
15
19
  faraday-net_http (~> 1.0)
@@ -18,6 +22,7 @@ GEM
18
22
  faraday-net_http (1.0.1)
19
23
  faraday_middleware (1.0.0)
20
24
  faraday (~> 1.0)
25
+ hashdiff (1.0.1)
21
26
  multi_json (1.15.0)
22
27
  multi_xml (0.6.0)
23
28
  multipart-post (2.1.1)
@@ -25,6 +30,7 @@ GEM
25
30
  parser (3.0.0.0)
26
31
  ast (~> 2.4.1)
27
32
  power_assert (2.0.0)
33
+ public_suffix (4.0.6)
28
34
  rack (1.6.13)
29
35
  rack-protection (1.5.5)
30
36
  rack
@@ -65,6 +71,10 @@ GEM
65
71
  power_assert
66
72
  tilt (1.4.1)
67
73
  unicode-display_width (2.0.0)
74
+ webmock (3.12.1)
75
+ addressable (>= 2.3.6)
76
+ crack (>= 0.3.2)
77
+ hashdiff (>= 0.4.0, < 2.0.0)
68
78
 
69
79
  PLATFORMS
70
80
  x86_64-darwin-19
@@ -78,6 +88,7 @@ DEPENDENCIES
78
88
  sinatra (~> 1.3.3)
79
89
  standard
80
90
  test-unit
91
+ webmock
81
92
 
82
93
  BUNDLED WITH
83
94
  2.2.8
data/README.md CHANGED
@@ -29,11 +29,14 @@ Below are some aspects of the Pocket API that aren't covered in the official doc
29
29
  * For very long articles, the maximum reported `word_count` is 65535, even if the article is longer.
30
30
  * If a `count` isn't specified, the `Retreive` call will return maximum of 5000 items.
31
31
  * The API response may contain a number of undocumented fields, including:
32
- * `domain_metadata`
33
32
  * `amp_url`
33
+ * `domain_metadata`
34
+ * `is_index`
35
+ * `lang` ([ISO_639-1](https://en.wikipedia.org/wiki/ISO_639-1)?)
34
36
  * `listen_duration_estimate`
35
- * `time_to_read`
36
37
  * `sort_id`
37
- * `lang` ([ISO_639-1](https://en.wikipedia.org/wiki/ISO_639-1)?)
38
+ * `time_to_read`
39
+ * `top_image_url`
38
40
  * Every integer value is returned as a string, *except* for `time_to_read`, `listen_duration_estimate` and `sort_id`.
39
41
  * The `time_to_read` is in minutes, but `listen_duration_estimate` is in seconds.
42
+ * If an article's `status` is `"2"` ('should be deleted') then most fields will not be present.
@@ -16,11 +16,11 @@ module Faraday
16
16
  def on_complete(env)
17
17
  case env[:status]
18
18
  when 404
19
- raise Faraday::Error::ResourceNotFound, response_values(env)
20
- when 400...403
19
+ raise Faraday::ResourceNotFound, response_values(env)
20
+ when 400..403
21
21
  raise Pocket::Error, env[:response_headers]["X-Error"]
22
22
  when CLIENT_ERROR_STATUSES
23
- raise Faraday::Error::ClientError, response_values(env)
23
+ raise Faraday::ClientError, response_values(env)
24
24
  end
25
25
  end
26
26
 
data/lib/pocket-ruby.rb CHANGED
@@ -15,15 +15,4 @@ module Pocket
15
15
  def self.client(options = {})
16
16
  Pocket::Client.new(options)
17
17
  end
18
-
19
- # Delegate to Pocket::Client
20
- def self.method_missing(method, *args, &block)
21
- return super unless client.respond_to?(method)
22
- client.send(method, *args, &block)
23
- end
24
-
25
- # Delegate to Pocket::Client
26
- def self.respond_to_missing?(method)
27
- client.respond_to?(method) || super
28
- end
29
18
  end
@@ -21,7 +21,7 @@ module Pocket
21
21
  end
22
22
 
23
23
  def resolved_url
24
- response.fetch("resolved_url")
24
+ response.fetch("resolved_url", nil)
25
25
  end
26
26
 
27
27
  def given_title
@@ -29,7 +29,7 @@ module Pocket
29
29
  end
30
30
 
31
31
  def resolved_title
32
- response.fetch("resolved_title")
32
+ response.fetch("resolved_title", nil)
33
33
  end
34
34
 
35
35
  def favorite?
@@ -46,6 +46,7 @@ module Pocket
46
46
  end
47
47
 
48
48
  def article?
49
+ return false unless response["is_article"]
49
50
  Integer(response.fetch("is_article")) == 1
50
51
  end
51
52
 
data/lib/pocket/client.rb CHANGED
@@ -1,13 +1,25 @@
1
1
  module Pocket
2
2
  # Wrapper for the Pocket REST API
3
- #
4
- # @note All methods have been separated into modules and follow the same grouping used in {TODO:doc_URL the Pocket API Documentation}.
5
- # @see TODO:doc_url
6
3
  class Client < API
7
- Dir[File.expand_path("../client/*.rb", __FILE__)].sort.each { |f| require f }
4
+ # http://getpocket.com/developer/docs/v3/add
5
+ # required params: url, consumer_key, access_token
6
+ def add params
7
+ response = connection.post("/v3/add", params)
8
+ response.body
9
+ end
8
10
 
9
- include Pocket::Client::Add
10
- include Pocket::Client::Modify
11
- include Pocket::Client::Retrieve
11
+ # http://getpocket.com/developer/docs/v3/modify
12
+ # required params: actions, consumer_key, access_token
13
+ def modify actions
14
+ response = connection.post("/v3/send", {actions: actions})
15
+ response.body
16
+ end
17
+
18
+ # http://getpocket.com/developer/docs/v3/retrieve
19
+ # required params: consumer_key, access_token
20
+ def retrieve params = {}
21
+ response = connection.post("/v3/get", params)
22
+ response.body
23
+ end
12
24
  end
13
25
  end
@@ -1,3 +1,3 @@
1
1
  module Pocket
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
data/pocket-ruby.gemspec CHANGED
@@ -7,7 +7,8 @@ Gem::Specification.new do |s|
7
7
  s.add_development_dependency("standard")
8
8
  s.add_development_dependency("test-unit")
9
9
  s.add_development_dependency("simplecov")
10
- s.add_runtime_dependency("faraday", [">= 0.7"])
10
+ s.add_development_dependency("webmock")
11
+ s.add_runtime_dependency("faraday", ">= 1.0")
11
12
  s.add_runtime_dependency("faraday_middleware")
12
13
  s.add_runtime_dependency("multi_json", ">= 1.0.3", "~> 1.0")
13
14
  s.authors = ["Turadg Aleahmad", "Jason Ng PT", "Andy Waite"]
@@ -1,7 +1,11 @@
1
1
  require "test_helper"
2
2
 
3
3
  module Pocket
4
- class VersionTest < Test::Unit::TestCase
4
+ class ArticleTest < Test::Unit::TestCase
5
+ setup do
6
+ @article = Pocket::Article.new(parsed_response)
7
+ end
8
+
5
9
  test "from_json" do
6
10
  json_string = File.read("test/fixtures/retreive.json")
7
11
  article = Pocket::Article.from_json(json_string)
@@ -9,148 +13,163 @@ module Pocket
9
13
  end
10
14
 
11
15
  test "item_id" do
12
- assert_equal 229279689, article.item_id
16
+ assert_equal 229279689, @article.item_id
13
17
  end
14
18
 
15
19
  test "given_url" do
16
- assert_equal "http://www.grantland.com/blog/the-triangle/post/_/id/38347/ryder-cup-preview?given", article.given_url
20
+ assert_equal "http://www.grantland.com/blog/the-triangle/post/_/id/38347/ryder-cup-preview?given", @article.given_url
17
21
  end
18
22
 
19
23
  test "resolved_url" do
20
- assert_equal "http://www.grantland.com/blog/the-triangle/post/_/id/38347/ryder-cup-preview?resolved", article.resolved_url
24
+ assert_equal "http://www.grantland.com/blog/the-triangle/post/_/id/38347/ryder-cup-preview?resolved", @article.resolved_url
25
+ end
26
+
27
+ test "resolved_url is nil is field not present" do
28
+ parsed_response.delete("resolved_url")
29
+ assert_nil @article.resolved_url
21
30
  end
22
31
 
23
32
  test "given_title" do
24
- assert_equal "The Massive Ryder Cup Preview - The Triangle Blog - Grantland", article.given_title
33
+ assert_equal "The Massive Ryder Cup Preview - The Triangle Blog - Grantland", @article.given_title
25
34
  end
26
35
 
27
36
  test "resolved_title" do
28
- assert_equal "The Massive Ryder Cup Preview", article.resolved_title
37
+ assert_equal "The Massive Ryder Cup Preview", @article.resolved_title
38
+ end
39
+
40
+ test "resolved_title is nil is field not present" do
41
+ parsed_response.delete("resolved_title")
42
+ assert_nil @article.resolved_title
29
43
  end
30
44
 
31
45
  test "favorite? is false is field is '0'" do
32
- assert_equal false, article.favorite?
46
+ assert_equal false, @article.favorite?
33
47
  end
34
48
 
35
49
  test "status" do
36
- assert_equal 0, article.status
50
+ assert_equal 0, @article.status
37
51
  end
38
52
 
39
53
  test "excerpt" do
40
- assert_include article.excerpt, "list of things"
54
+ assert_include @article.excerpt, "list of things"
41
55
  end
42
56
 
43
57
  test "excerpt is nil if field not present" do
44
58
  parsed_response.delete("excerpt")
45
- assert_nil article.excerpt
59
+ assert_nil @article.excerpt
46
60
  end
47
61
 
48
62
  test "article?" do
49
- assert article.article?
63
+ assert @article.article?
64
+ end
65
+
66
+ test "article? returns false if `is_article` field not present" do
67
+ parsed_response.delete("is_article")
68
+ refute @article.article?
50
69
  end
51
70
 
52
71
  test "has_image?" do
53
- assert article.has_image?
72
+ assert @article.has_image?
54
73
  end
55
74
 
56
75
  test "image?" do
57
- refute article.image?
76
+ refute @article.image?
58
77
  end
59
78
 
60
79
  test "has_video?" do
61
- assert article.has_video?
80
+ assert @article.has_video?
62
81
  end
63
82
 
64
83
  test "video?" do
65
- refute article.video?
84
+ refute @article.video?
66
85
  end
67
86
 
68
87
  test "word_count" do
69
- assert_equal 3197, article.word_count
88
+ assert_equal 3197, @article.word_count
70
89
  end
71
90
 
72
91
  test "word_count is nil is field not present" do
73
92
  parsed_response.delete("word_count")
74
- assert_nil article.word_count
93
+ assert_nil @article.word_count
75
94
  end
76
95
 
77
96
  test "resolved_id" do
78
- assert_equal 229279689, article.resolved_id
97
+ assert_equal 229279689, @article.resolved_id
79
98
  end
80
99
 
81
100
  test "thumbnail" do
82
- assert_equal "https://example.com/image.png", article.thumbnail
101
+ assert_equal "https://example.com/image.png", @article.thumbnail
83
102
  end
84
103
 
85
104
  test "time_added" do
86
- assert_equal Time.utc(2021, 4, 3, 1, 23, 12), article.time_added
105
+ assert_equal Time.utc(2021, 4, 3, 1, 23, 12), @article.time_added
87
106
  end
88
107
 
89
108
  test "time_added is nil if field not present" do
90
109
  parsed_response.delete("time_added")
91
- assert_nil article.time_added
110
+ assert_nil @article.time_added
92
111
  end
93
112
 
94
113
  test "time_updated" do
95
- assert_equal Time.utc(2021, 4, 3, 1, 23, 13), article.time_updated
114
+ assert_equal Time.utc(2021, 4, 3, 1, 23, 13), @article.time_updated
96
115
  end
97
116
 
98
117
  test "time_updated is nil if field not present" do
99
118
  parsed_response.delete("time_updated")
100
- assert_nil article.time_updated
119
+ assert_nil @article.time_updated
101
120
  end
102
121
 
103
122
  test "time_read" do
104
- assert_equal Time.utc(2021, 4, 3, 1, 23, 14), article.time_read
123
+ assert_equal Time.utc(2021, 4, 3, 1, 23, 14), @article.time_read
105
124
  end
106
125
 
107
126
  test "time_read is nil if field is not present" do
108
127
  parsed_response.delete("time_read")
109
- assert_nil article.time_read
128
+ assert_nil @article.time_read
110
129
  end
111
130
 
112
131
  test "time_read is nil if field is zero" do
113
132
  parsed_response["time_read"] = "0"
114
- assert_nil article.time_read
133
+ assert_nil @article.time_read
115
134
  end
116
135
 
117
136
  test "favorited?" do
118
- assert article.favorited?
137
+ assert @article.favorited?
119
138
  end
120
139
 
121
140
  test "time_favorited" do
122
- assert_equal Time.utc(2021, 4, 3, 1, 23, 15), article.time_favorited
141
+ assert_equal Time.utc(2021, 4, 3, 1, 23, 15), @article.time_favorited
123
142
  end
124
143
 
125
144
  test "time_favorited is nil if field not present" do
126
145
  parsed_response.delete("time_favorited")
127
- assert_nil article.time_favorited
146
+ assert_nil @article.time_favorited
128
147
  end
129
148
 
130
149
  test "time_favorited is nil if field is zero" do
131
150
  parsed_response["time_favorited"] = "0"
132
- assert_nil article.time_favorited
151
+ assert_nil @article.time_favorited
133
152
  end
134
153
 
135
154
  test "read?" do
136
- assert article.read?
155
+ assert @article.read?
137
156
  end
138
157
 
139
158
  test "read_url" do
140
- assert_equal "https://getpocket.com/read/229279689", article.read_url
159
+ assert_equal "https://getpocket.com/read/229279689", @article.read_url
141
160
  end
142
161
 
143
162
  test "tags" do
144
- assert_equal ["my-tag-1", "my-tag-2"], article.tags
163
+ assert_equal ["my-tag-1", "my-tag-2"], @article.tags
145
164
  end
146
165
 
147
166
  test "tags returns an empty array if there are no tags" do
148
167
  parsed_response.delete("tags")
149
- assert_equal [], article.tags
168
+ assert_equal [], @article.tags
150
169
  end
151
170
 
152
171
  test "authors" do
153
- result = article.authors
172
+ result = @article.authors
154
173
  assert_equal 1, result.size
155
174
  assert_equal "Stephen King", result.first.name
156
175
  assert_equal 62344201, result.first.id
@@ -159,53 +178,49 @@ module Pocket
159
178
 
160
179
  test "authors returns an empty array if there are no tags" do
161
180
  parsed_response.delete("authors")
162
- assert_equal [], article.authors
181
+ assert_equal [], @article.authors
163
182
  end
164
183
 
165
184
  test "time_to_read" do
166
- assert_equal 14, article.time_to_read
185
+ assert_equal 14, @article.time_to_read
167
186
  end
168
187
 
169
188
  test "time_to_read returns nil if field not present" do
170
189
  parsed_response.delete("time_to_read")
171
- assert_nil article.time_to_read
190
+ assert_nil @article.time_to_read
172
191
  end
173
192
 
174
193
  test "time_to_read returns nil if value is 0" do
175
194
  parsed_response["time_to_read"] = 0
176
- assert_nil article.time_to_read
195
+ assert_nil @article.time_to_read
177
196
  end
178
197
 
179
198
  test "time_to_read_category" do
180
199
  parsed_response.delete("time_to_read")
181
- assert_nil article.time_to_read_category
200
+ assert_nil @article.time_to_read_category
182
201
 
183
202
  parsed_response["time_to_read"] = 0
184
- assert_nil article.time_to_read_category
203
+ assert_nil @article.time_to_read_category
185
204
 
186
205
  parsed_response["time_to_read"] = 25
187
- assert_equal "very_long", article.time_to_read_category
206
+ assert_equal "very_long", @article.time_to_read_category
188
207
 
189
208
  parsed_response["time_to_read"] = 15
190
- assert_equal "long", article.time_to_read_category
209
+ assert_equal "long", @article.time_to_read_category
191
210
 
192
211
  parsed_response["time_to_read"] = 8
193
- assert_equal "medium", article.time_to_read_category
212
+ assert_equal "medium", @article.time_to_read_category
194
213
 
195
214
  parsed_response["time_to_read"] = 3
196
- assert_equal "quick", article.time_to_read_category
215
+ assert_equal "quick", @article.time_to_read_category
197
216
  end
198
217
 
199
218
  test "domain_metadata" do
200
- assert_equal "The Verge", article.domain_metadata.name
219
+ assert_equal "The Verge", @article.domain_metadata.name
201
220
  end
202
221
 
203
222
  private
204
223
 
205
- def article
206
- @article ||= Pocket::Article.new(parsed_response)
207
- end
208
-
209
224
  def parsed_response
210
225
  @parsed_response ||= JSON.parse(File.read("test/fixtures/retreive.json"))
211
226
  end
@@ -0,0 +1,23 @@
1
+ require "test_helper"
2
+ require "webmock/test_unit"
3
+
4
+ class ClientTest < Test::Unit::TestCase
5
+ test "retrieve" do
6
+ stub_request(:post, "https://getpocket.com/v3/get")
7
+ .with(
8
+ body: "{\"detailType\":\"complete\",\"count\":1,\"consumer_key\":null,\"access_token\":\"access_token\"}",
9
+ headers: {
10
+ "Accept" => "*/*",
11
+ "Accept-Encoding" => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3",
12
+ "Content-Type" => "application/json",
13
+ "User-Agent" => "Pocket Ruby Gem #{Pocket::VERSION}"
14
+ }
15
+ )
16
+ .to_return(status: 200, body: "body response", headers: {})
17
+ client = Pocket.client(access_token: "access_token")
18
+
19
+ result = client.retrieve(detailType: :complete, count: 1)
20
+
21
+ assert_equal "body response", result
22
+ end
23
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pocket-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Turadg Aleahmad
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-04-12 00:00:00.000000000 Z
13
+ date: 2021-04-18 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sinatra
@@ -96,20 +96,34 @@ dependencies:
96
96
  - - ">="
97
97
  - !ruby/object:Gem::Version
98
98
  version: '0'
99
+ - !ruby/object:Gem::Dependency
100
+ name: webmock
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
99
113
  - !ruby/object:Gem::Dependency
100
114
  name: faraday
101
115
  requirement: !ruby/object:Gem::Requirement
102
116
  requirements:
103
117
  - - ">="
104
118
  - !ruby/object:Gem::Version
105
- version: '0.7'
119
+ version: '1.0'
106
120
  type: :runtime
107
121
  prerelease: false
108
122
  version_requirements: !ruby/object:Gem::Requirement
109
123
  requirements:
110
124
  - - ">="
111
125
  - !ruby/object:Gem::Version
112
- version: '0.7'
126
+ version: '1.0'
113
127
  - !ruby/object:Gem::Dependency
114
128
  name: faraday_middleware
115
129
  requirement: !ruby/object:Gem::Requirement
@@ -170,9 +184,6 @@ files:
170
184
  - lib/pocket/article.rb
171
185
  - lib/pocket/author.rb
172
186
  - lib/pocket/client.rb
173
- - lib/pocket/client/add.rb
174
- - lib/pocket/client/modify.rb
175
- - lib/pocket/client/retrieve.rb
176
187
  - lib/pocket/configuration.rb
177
188
  - lib/pocket/connection.rb
178
189
  - lib/pocket/domain_metadata.rb
@@ -182,6 +193,7 @@ files:
182
193
  - pocket-ruby.gemspec
183
194
  - test/fixtures/retreive.json
184
195
  - test/pocket/article_test.rb
196
+ - test/pocket/client_test.rb
185
197
  - test/pocket/version_test.rb
186
198
  - test/test_helper.rb
187
199
  homepage: https://github.com/turadg/pocket-ruby
@@ -209,5 +221,6 @@ summary: Ruby wrapper for the Pocket API v3
209
221
  test_files:
210
222
  - test/fixtures/retreive.json
211
223
  - test/pocket/article_test.rb
224
+ - test/pocket/client_test.rb
212
225
  - test/pocket/version_test.rb
213
226
  - test/test_helper.rb
@@ -1,12 +0,0 @@
1
- module Pocket
2
- class Client
3
- # http://getpocket.com/developer/docs/v3/add
4
- module Add
5
- # required params: url, consumer_key, access_token
6
- def add params
7
- response = connection.post("/v3/add", params)
8
- response.body
9
- end
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- module Pocket
2
- class Client
3
- # http://getpocket.com/developer/docs/v3/modify
4
- module Modify
5
- # required params: actions, consumer_key, access_token
6
- def modify actions
7
- response = connection.post("/v3/send", {actions: actions})
8
- response.body
9
- end
10
- end
11
- end
12
- end
@@ -1,12 +0,0 @@
1
- module Pocket
2
- class Client
3
- # http://getpocket.com/developer/docs/v3/retrieve
4
- module Retrieve
5
- # required params: consumer_key, access_token
6
- def retrieve params = {}
7
- response = connection.post("/v3/get", params)
8
- response.body
9
- end
10
- end
11
- end
12
- end