readmill 0.1.0 → 0.2.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.
- data/README.md +44 -1
- data/lib/readmill/client.rb +2 -0
- data/lib/readmill/client/search.rb +49 -0
- data/lib/readmill/version.rb +1 -1
- data/spec/cassettes/readmill/client/readings_search/should_request_a_search_from_readmill.yml +285 -0
- data/spec/cassettes/readmill/client/readings_search/should_return_some_items.yml +285 -0
- data/spec/cassettes/readmill/client/readings_search/with_books_true_should_return_an_array_of_books.yml +288 -0
- data/spec/cassettes/readmill/client/readings_search/with_books_true_should_search_books_from_readmill.yml +288 -0
- data/spec/cassettes/readmill/client/readings_search/with_highlights_true_should_return_an_array_of_highlights.yml +158 -0
- data/spec/cassettes/readmill/client/readings_search/with_highlights_true_should_search_highlights_readmill.yml +158 -0
- data/spec/cassettes/readmill/client/readings_search/with_users_true_should_return_an_array_of_users.yml +76 -0
- data/spec/cassettes/readmill/client/readings_search/with_users_true_should_search_users_from_readmill.yml +76 -0
- data/spec/readmill/client/search_spec.rb +77 -0
- metadata +43 -11
- checksums.yaml +0 -7
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Readmill::Client::Readings do
|
4
|
+
let (:client) { Readmill::Client.new }
|
5
|
+
|
6
|
+
describe '.search' do
|
7
|
+
let (:results) { client.search('Steve jobs') }
|
8
|
+
|
9
|
+
it 'should request a search from readmill' do
|
10
|
+
results
|
11
|
+
assert_requested :get, readmill_url('search?query=Steve%20jobs')
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'should return some items' do
|
15
|
+
expect(results).not_to be_empty
|
16
|
+
end
|
17
|
+
|
18
|
+
context 'with books true' do
|
19
|
+
let (:results) { client.search('Steve jobs', books: true) }
|
20
|
+
|
21
|
+
it 'should search books from readmill' do
|
22
|
+
results
|
23
|
+
assert_requested :get, readmill_url('books/search?query=Steve%20jobs')
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should return an array of books' do
|
27
|
+
expect(results).to be_a(Array)
|
28
|
+
expect(results.first).to respond_to(:book)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context 'with highlights true' do
|
33
|
+
let (:results) { client.search('Steve jobs', highlights: true) }
|
34
|
+
|
35
|
+
it 'should search highlights readmill' do
|
36
|
+
results
|
37
|
+
assert_requested :get, readmill_url('highlights/search?query=Steve%20jobs')
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'should return an array of highlights' do
|
41
|
+
expect(results).to be_a(Array)
|
42
|
+
expect(results.first).to respond_to(:highlight)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context 'with users true' do
|
47
|
+
let (:results) { client.search('Andrew Thorp', users: true) }
|
48
|
+
|
49
|
+
it 'should search users from readmill' do
|
50
|
+
results
|
51
|
+
assert_requested :get, readmill_url('users/search?query=Andrew%20Thorp')
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'should return an array of users' do
|
55
|
+
expect(results).to be_a(Array)
|
56
|
+
expect(results.first).to respond_to(:user)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
[
|
61
|
+
{ books: true, highlights: true, users: false },
|
62
|
+
{ books: true, highlights: false, users: true },
|
63
|
+
{ books: false, highlights: true, users: true }
|
64
|
+
].each do |opts|
|
65
|
+
context "with books #{opts[:books]}, highlights #{opts[:highlights]}, and users #{opts[:users]}" do
|
66
|
+
it 'should raise an argument error' do
|
67
|
+
expect { client.search('Andrew', books: opts[:books],
|
68
|
+
highlights: opts[:highlights],
|
69
|
+
users: opts[:users]) }.to(
|
70
|
+
raise_error(ArgumentError, /You can only set one of books, highlights, and users/)
|
71
|
+
)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
metadata
CHANGED
@@ -1,18 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: readmill
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Andrew Thorp
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
12
|
+
date: 2013-12-21 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: addressable
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
@@ -20,6 +22,7 @@ dependencies:
|
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
@@ -27,6 +30,7 @@ dependencies:
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: faraday
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ~>
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,6 +46,7 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: faraday_middleware
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ~>
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :runtime
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ~>
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -55,6 +62,7 @@ dependencies:
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: hashie
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - ~>
|
60
68
|
- !ruby/object:Gem::Version
|
@@ -62,6 +70,7 @@ dependencies:
|
|
62
70
|
type: :runtime
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
75
|
- - ~>
|
67
76
|
- !ruby/object:Gem::Version
|
@@ -69,6 +78,7 @@ dependencies:
|
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: multi_json
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
83
|
- - ~>
|
74
84
|
- !ruby/object:Gem::Version
|
@@ -76,6 +86,7 @@ dependencies:
|
|
76
86
|
type: :runtime
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
91
|
- - ~>
|
81
92
|
- !ruby/object:Gem::Version
|
@@ -83,6 +94,7 @@ dependencies:
|
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: oauth
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
99
|
- - ~>
|
88
100
|
- !ruby/object:Gem::Version
|
@@ -90,14 +102,14 @@ dependencies:
|
|
90
102
|
type: :runtime
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
107
|
- - ~>
|
95
108
|
- !ruby/object:Gem::Version
|
96
109
|
version: '0.4'
|
97
|
-
description:
|
98
|
-
|
99
|
-
|
100
|
-
wrapper which will allow you to interact with their API with ruby.
|
110
|
+
description: ! " A ruby wrapper for the Readmill Developer API. Their API allows
|
111
|
+
you to get\n all of your Books, Readings, Highlights, Comments, and more. This
|
112
|
+
is a ruby\n wrapper which will allow you to interact with their API with ruby.\n"
|
101
113
|
email: andrewpthorp@gmail.com
|
102
114
|
executables: []
|
103
115
|
extensions: []
|
@@ -114,6 +126,7 @@ files:
|
|
114
126
|
- lib/readmill/client/locations.rb
|
115
127
|
- lib/readmill/client/periods.rb
|
116
128
|
- lib/readmill/client/readings.rb
|
129
|
+
- lib/readmill/client/search.rb
|
117
130
|
- lib/readmill/client/users.rb
|
118
131
|
- lib/readmill/client.rb
|
119
132
|
- lib/readmill/configuration.rb
|
@@ -162,6 +175,14 @@ files:
|
|
162
175
|
- spec/cassettes/readmill/client/readings_readings/with_a_book_id_should_return_an_array_of_readings.yml
|
163
176
|
- spec/cassettes/readmill/client/readings_readings/with_a_user_id_should_request_all_readings_for_the_user.yml
|
164
177
|
- spec/cassettes/readmill/client/readings_readings/with_a_user_id_should_return_an_array_of_readings.yml
|
178
|
+
- spec/cassettes/readmill/client/readings_search/should_request_a_search_from_readmill.yml
|
179
|
+
- spec/cassettes/readmill/client/readings_search/should_return_some_items.yml
|
180
|
+
- spec/cassettes/readmill/client/readings_search/with_books_true_should_return_an_array_of_books.yml
|
181
|
+
- spec/cassettes/readmill/client/readings_search/with_books_true_should_search_books_from_readmill.yml
|
182
|
+
- spec/cassettes/readmill/client/readings_search/with_highlights_true_should_return_an_array_of_highlights.yml
|
183
|
+
- spec/cassettes/readmill/client/readings_search/with_highlights_true_should_search_highlights_readmill.yml
|
184
|
+
- spec/cassettes/readmill/client/readings_search/with_users_true_should_return_an_array_of_users.yml
|
185
|
+
- spec/cassettes/readmill/client/readings_search/with_users_true_should_search_users_from_readmill.yml
|
165
186
|
- spec/cassettes/readmill/client/users_user/should_request_a_user_from_readmill.yml
|
166
187
|
- spec/cassettes/readmill/client/users_user/should_return_a_user.yml
|
167
188
|
- spec/cassettes/readmill/client/users_user/with_followers_true_should_request_all_followers_for_a_user.yml
|
@@ -176,6 +197,7 @@ files:
|
|
176
197
|
- spec/readmill/client/locations_spec.rb
|
177
198
|
- spec/readmill/client/periods_spec.rb
|
178
199
|
- spec/readmill/client/readings_spec.rb
|
200
|
+
- spec/readmill/client/search_spec.rb
|
179
201
|
- spec/readmill/client/users_spec.rb
|
180
202
|
- spec/readmill/client_spec.rb
|
181
203
|
- spec/readmill/configuration_spec.rb
|
@@ -183,26 +205,27 @@ files:
|
|
183
205
|
- spec/spec_helper.rb
|
184
206
|
homepage: http://github.com/andrewpthorp/readmill
|
185
207
|
licenses: []
|
186
|
-
metadata: {}
|
187
208
|
post_install_message:
|
188
209
|
rdoc_options: []
|
189
210
|
require_paths:
|
190
211
|
- lib
|
191
212
|
required_ruby_version: !ruby/object:Gem::Requirement
|
213
|
+
none: false
|
192
214
|
requirements:
|
193
|
-
- - '>='
|
215
|
+
- - ! '>='
|
194
216
|
- !ruby/object:Gem::Version
|
195
217
|
version: '0'
|
196
218
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
219
|
+
none: false
|
197
220
|
requirements:
|
198
|
-
- - '>='
|
221
|
+
- - ! '>='
|
199
222
|
- !ruby/object:Gem::Version
|
200
223
|
version: '0'
|
201
224
|
requirements: []
|
202
225
|
rubyforge_project:
|
203
|
-
rubygems_version:
|
226
|
+
rubygems_version: 1.8.23
|
204
227
|
signing_key:
|
205
|
-
specification_version:
|
228
|
+
specification_version: 3
|
206
229
|
summary: Simple wrapper for the Readmill API.
|
207
230
|
test_files:
|
208
231
|
- spec/cassettes/readmill/client/books_book/should_request_a_book_from_readmill.yml
|
@@ -246,6 +269,14 @@ test_files:
|
|
246
269
|
- spec/cassettes/readmill/client/readings_readings/with_a_book_id_should_return_an_array_of_readings.yml
|
247
270
|
- spec/cassettes/readmill/client/readings_readings/with_a_user_id_should_request_all_readings_for_the_user.yml
|
248
271
|
- spec/cassettes/readmill/client/readings_readings/with_a_user_id_should_return_an_array_of_readings.yml
|
272
|
+
- spec/cassettes/readmill/client/readings_search/should_request_a_search_from_readmill.yml
|
273
|
+
- spec/cassettes/readmill/client/readings_search/should_return_some_items.yml
|
274
|
+
- spec/cassettes/readmill/client/readings_search/with_books_true_should_return_an_array_of_books.yml
|
275
|
+
- spec/cassettes/readmill/client/readings_search/with_books_true_should_search_books_from_readmill.yml
|
276
|
+
- spec/cassettes/readmill/client/readings_search/with_highlights_true_should_return_an_array_of_highlights.yml
|
277
|
+
- spec/cassettes/readmill/client/readings_search/with_highlights_true_should_search_highlights_readmill.yml
|
278
|
+
- spec/cassettes/readmill/client/readings_search/with_users_true_should_return_an_array_of_users.yml
|
279
|
+
- spec/cassettes/readmill/client/readings_search/with_users_true_should_search_users_from_readmill.yml
|
249
280
|
- spec/cassettes/readmill/client/users_user/should_request_a_user_from_readmill.yml
|
250
281
|
- spec/cassettes/readmill/client/users_user/should_return_a_user.yml
|
251
282
|
- spec/cassettes/readmill/client/users_user/with_followers_true_should_request_all_followers_for_a_user.yml
|
@@ -260,6 +291,7 @@ test_files:
|
|
260
291
|
- spec/readmill/client/locations_spec.rb
|
261
292
|
- spec/readmill/client/periods_spec.rb
|
262
293
|
- spec/readmill/client/readings_spec.rb
|
294
|
+
- spec/readmill/client/search_spec.rb
|
263
295
|
- spec/readmill/client/users_spec.rb
|
264
296
|
- spec/readmill/client_spec.rb
|
265
297
|
- spec/readmill/configuration_spec.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 55c086e83317810f068f131e638c71755df3078e
|
4
|
-
data.tar.gz: ccbea744db0d118d0583043f10431f2d43ceac97
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: be1e06390ff1343a8b003e3fc3a3e75476e807fdb17264c148c1bab41bb7c3fa126e6a7ac34391806e191a4d6ffced624b6741369b285813fc20a531fa832402
|
7
|
-
data.tar.gz: 5454a0d403da7b5dfe47cb378ea43f5653a3aee31563ba54d72f038762b6e3e56a57896bf64c8a4e952a0e338953528579991938a8f99ecf98a189f93006dcf3
|