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.
@@ -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.1.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-16 00:00:00.000000000 Z
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: |2
98
- A ruby wrapper for the Readmill Developer API. Their API allows you to get
99
- all of your Books, Readings, Highlights, Comments, and more. This is a ruby
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: 2.0.3
226
+ rubygems_version: 1.8.23
204
227
  signing_key:
205
- specification_version: 4
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