wordnik 0.4.5 → 0.4.6
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/.rspec-tm +2 -0
- data/Gemfile.lock +9 -9
- data/README.md +7 -9
- data/Rakefile +89 -4
- data/USAGE.md +151 -29
- data/api_docs/account.json +1 -1
- data/api_docs/system.json +1 -1
- data/api_docs/user.json +1 -1
- data/api_docs/word.json +1 -1
- data/api_docs/wordList.json +1 -1
- data/api_docs/wordLists.json +1 -1
- data/api_docs/words.json +1 -1
- data/lib/wordnik/operation.rb +1 -17
- data/lib/wordnik/request.rb +1 -1
- data/lib/wordnik/resource.rb +11 -72
- data/lib/wordnik/resource_modules/account.rb +230 -0
- data/lib/wordnik/resource_modules/system.rb +37 -0
- data/lib/wordnik/resource_modules/user.rb +283 -0
- data/lib/wordnik/resource_modules/word.rb +438 -0
- data/lib/wordnik/resource_modules/word_list.rb +211 -0
- data/lib/wordnik/resource_modules/word_lists.rb +68 -0
- data/lib/wordnik/resource_modules/words.rb +482 -0
- data/lib/wordnik/version.rb +1 -1
- data/lib/wordnik.rb +19 -11
- data/spec/endpoint_spec.rb +1 -1
- data/spec/operation_parameter_spec.rb +1 -1
- data/spec/operation_spec.rb +1 -1
- data/spec/request_spec.rb +5 -1
- data/spec/resource_spec.rb +131 -2
- data/spec/response_spec.rb +3 -3
- data/spec/spec_helper.rb +1 -0
- data/spec/wordnik_spec.rb +7 -106
- data/wordnik.gemspec +1 -1
- metadata +11 -3
@@ -0,0 +1,438 @@
|
|
1
|
+
# HEY HACKER! THIS IS AN AUTO-GENERATED FILE.
|
2
|
+
# So don't bother editing it. To see how it's built, take a look at the Rakefile
|
3
|
+
|
4
|
+
module WordMethods
|
5
|
+
|
6
|
+
# Given a word as a string, returns the WordObject that represents it
|
7
|
+
#
|
8
|
+
def get_word(word, *args)
|
9
|
+
http_method = :get
|
10
|
+
path = '/word/{word}'
|
11
|
+
path.sub!('{word}', word)
|
12
|
+
|
13
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
14
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
15
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
16
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
17
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
18
|
+
last_arg ||= {}
|
19
|
+
|
20
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
21
|
+
# that we want the request itself back, not the response body
|
22
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
23
|
+
request_only = true
|
24
|
+
last_arg.delete(:request_only)
|
25
|
+
end
|
26
|
+
|
27
|
+
if [:post, :put].include?(http_method)
|
28
|
+
params = nil
|
29
|
+
body = last_arg
|
30
|
+
else
|
31
|
+
params = last_arg
|
32
|
+
body = nil
|
33
|
+
end
|
34
|
+
|
35
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
36
|
+
request_only ? request : request.response.body
|
37
|
+
end
|
38
|
+
|
39
|
+
# Returns examples for a word
|
40
|
+
#
|
41
|
+
def get_examples(word, *args)
|
42
|
+
http_method = :get
|
43
|
+
path = '/word/{word}/examples'
|
44
|
+
path.sub!('{word}', word)
|
45
|
+
|
46
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
47
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
48
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
49
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
50
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
51
|
+
last_arg ||= {}
|
52
|
+
|
53
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
54
|
+
# that we want the request itself back, not the response body
|
55
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
56
|
+
request_only = true
|
57
|
+
last_arg.delete(:request_only)
|
58
|
+
end
|
59
|
+
|
60
|
+
if [:post, :put].include?(http_method)
|
61
|
+
params = nil
|
62
|
+
body = last_arg
|
63
|
+
else
|
64
|
+
params = last_arg
|
65
|
+
body = nil
|
66
|
+
end
|
67
|
+
|
68
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
69
|
+
request_only ? request : request.response.body
|
70
|
+
end
|
71
|
+
|
72
|
+
# Return definitions for a word
|
73
|
+
#
|
74
|
+
def get_definitions(word, *args)
|
75
|
+
http_method = :get
|
76
|
+
path = '/word/{word}/definitions'
|
77
|
+
path.sub!('{word}', word)
|
78
|
+
|
79
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
80
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
81
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
82
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
83
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
84
|
+
last_arg ||= {}
|
85
|
+
|
86
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
87
|
+
# that we want the request itself back, not the response body
|
88
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
89
|
+
request_only = true
|
90
|
+
last_arg.delete(:request_only)
|
91
|
+
end
|
92
|
+
|
93
|
+
if [:post, :put].include?(http_method)
|
94
|
+
params = nil
|
95
|
+
body = last_arg
|
96
|
+
else
|
97
|
+
params = last_arg
|
98
|
+
body = nil
|
99
|
+
end
|
100
|
+
|
101
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
102
|
+
request_only ? request : request.response.body
|
103
|
+
end
|
104
|
+
|
105
|
+
# Returns word usage over time
|
106
|
+
#
|
107
|
+
def get_word_frequency(word, *args)
|
108
|
+
http_method = :get
|
109
|
+
path = '/word/{word}/frequency'
|
110
|
+
path.sub!('{word}', word)
|
111
|
+
|
112
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
113
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
114
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
115
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
116
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
117
|
+
last_arg ||= {}
|
118
|
+
|
119
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
120
|
+
# that we want the request itself back, not the response body
|
121
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
122
|
+
request_only = true
|
123
|
+
last_arg.delete(:request_only)
|
124
|
+
end
|
125
|
+
|
126
|
+
if [:post, :put].include?(http_method)
|
127
|
+
params = nil
|
128
|
+
body = last_arg
|
129
|
+
else
|
130
|
+
params = last_arg
|
131
|
+
body = nil
|
132
|
+
end
|
133
|
+
|
134
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
135
|
+
request_only ? request : request.response.body
|
136
|
+
end
|
137
|
+
|
138
|
+
# Returns a top example for a word
|
139
|
+
#
|
140
|
+
def get_top_example(word, *args)
|
141
|
+
http_method = :get
|
142
|
+
path = '/word/{word}/topExample'
|
143
|
+
path.sub!('{word}', word)
|
144
|
+
|
145
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
146
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
147
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
148
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
149
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
150
|
+
last_arg ||= {}
|
151
|
+
|
152
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
153
|
+
# that we want the request itself back, not the response body
|
154
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
155
|
+
request_only = true
|
156
|
+
last_arg.delete(:request_only)
|
157
|
+
end
|
158
|
+
|
159
|
+
if [:post, :put].include?(http_method)
|
160
|
+
params = nil
|
161
|
+
body = last_arg
|
162
|
+
else
|
163
|
+
params = last_arg
|
164
|
+
body = nil
|
165
|
+
end
|
166
|
+
|
167
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
168
|
+
request_only ? request : request.response.body
|
169
|
+
end
|
170
|
+
|
171
|
+
# Return related words (thesaurus data) for a word
|
172
|
+
#
|
173
|
+
def get_related_words(word, *args)
|
174
|
+
http_method = :get
|
175
|
+
path = '/word/{word}/related'
|
176
|
+
path.sub!('{word}', word)
|
177
|
+
|
178
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
179
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
180
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
181
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
182
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
183
|
+
last_arg ||= {}
|
184
|
+
|
185
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
186
|
+
# that we want the request itself back, not the response body
|
187
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
188
|
+
request_only = true
|
189
|
+
last_arg.delete(:request_only)
|
190
|
+
end
|
191
|
+
|
192
|
+
if [:post, :put].include?(http_method)
|
193
|
+
params = nil
|
194
|
+
body = last_arg
|
195
|
+
else
|
196
|
+
params = last_arg
|
197
|
+
body = nil
|
198
|
+
end
|
199
|
+
|
200
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
201
|
+
request_only ? request : request.response.body
|
202
|
+
end
|
203
|
+
|
204
|
+
# Fetches bi-gram phrases for a word
|
205
|
+
#
|
206
|
+
def get_phrases(word, *args)
|
207
|
+
http_method = :get
|
208
|
+
path = '/word/{word}/phrases'
|
209
|
+
path.sub!('{word}', word)
|
210
|
+
|
211
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
212
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
213
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
214
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
215
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
216
|
+
last_arg ||= {}
|
217
|
+
|
218
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
219
|
+
# that we want the request itself back, not the response body
|
220
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
221
|
+
request_only = true
|
222
|
+
last_arg.delete(:request_only)
|
223
|
+
end
|
224
|
+
|
225
|
+
if [:post, :put].include?(http_method)
|
226
|
+
params = nil
|
227
|
+
body = last_arg
|
228
|
+
else
|
229
|
+
params = last_arg
|
230
|
+
body = nil
|
231
|
+
end
|
232
|
+
|
233
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
234
|
+
request_only ? request : request.response.body
|
235
|
+
end
|
236
|
+
|
237
|
+
# Returns syllable information for a word
|
238
|
+
#
|
239
|
+
def get_hyphenation(word, *args)
|
240
|
+
http_method = :get
|
241
|
+
path = '/word/{word}/hyphenation'
|
242
|
+
path.sub!('{word}', word)
|
243
|
+
|
244
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
245
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
246
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
247
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
248
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
249
|
+
last_arg ||= {}
|
250
|
+
|
251
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
252
|
+
# that we want the request itself back, not the response body
|
253
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
254
|
+
request_only = true
|
255
|
+
last_arg.delete(:request_only)
|
256
|
+
end
|
257
|
+
|
258
|
+
if [:post, :put].include?(http_method)
|
259
|
+
params = nil
|
260
|
+
body = last_arg
|
261
|
+
else
|
262
|
+
params = last_arg
|
263
|
+
body = nil
|
264
|
+
end
|
265
|
+
|
266
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
267
|
+
request_only ? request : request.response.body
|
268
|
+
end
|
269
|
+
|
270
|
+
# Returns text pronunciations for a given word
|
271
|
+
#
|
272
|
+
def get_text_pronunciations(word, *args)
|
273
|
+
http_method = :get
|
274
|
+
path = '/word/{word}/pronunciations'
|
275
|
+
path.sub!('{word}', word)
|
276
|
+
|
277
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
278
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
279
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
280
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
281
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
282
|
+
last_arg ||= {}
|
283
|
+
|
284
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
285
|
+
# that we want the request itself back, not the response body
|
286
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
287
|
+
request_only = true
|
288
|
+
last_arg.delete(:request_only)
|
289
|
+
end
|
290
|
+
|
291
|
+
if [:post, :put].include?(http_method)
|
292
|
+
params = nil
|
293
|
+
body = last_arg
|
294
|
+
else
|
295
|
+
params = last_arg
|
296
|
+
body = nil
|
297
|
+
end
|
298
|
+
|
299
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
300
|
+
request_only ? request : request.response.body
|
301
|
+
end
|
302
|
+
|
303
|
+
# Returns other forms of a word
|
304
|
+
#
|
305
|
+
def get_word_forms(word, *args)
|
306
|
+
http_method = :get
|
307
|
+
path = '/word/{word}/wordForms'
|
308
|
+
path.sub!('{word}', word)
|
309
|
+
|
310
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
311
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
312
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
313
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
314
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
315
|
+
last_arg ||= {}
|
316
|
+
|
317
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
318
|
+
# that we want the request itself back, not the response body
|
319
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
320
|
+
request_only = true
|
321
|
+
last_arg.delete(:request_only)
|
322
|
+
end
|
323
|
+
|
324
|
+
if [:post, :put].include?(http_method)
|
325
|
+
params = nil
|
326
|
+
body = last_arg
|
327
|
+
else
|
328
|
+
params = last_arg
|
329
|
+
body = nil
|
330
|
+
end
|
331
|
+
|
332
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
333
|
+
request_only ? request : request.response.body
|
334
|
+
end
|
335
|
+
|
336
|
+
# Fetches audio metadata for a word.
|
337
|
+
# The metadata includes a time-expiring fileUrl which allows reading the audio file directly from the API. Currently only audio pronunciations from the American Heritage Dictionary in mp3 format are supported.
|
338
|
+
#
|
339
|
+
def get_audio(word, *args)
|
340
|
+
http_method = :get
|
341
|
+
path = '/word/{word}/audio'
|
342
|
+
path.sub!('{word}', word)
|
343
|
+
|
344
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
345
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
346
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
347
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
348
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
349
|
+
last_arg ||= {}
|
350
|
+
|
351
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
352
|
+
# that we want the request itself back, not the response body
|
353
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
354
|
+
request_only = true
|
355
|
+
last_arg.delete(:request_only)
|
356
|
+
end
|
357
|
+
|
358
|
+
if [:post, :put].include?(http_method)
|
359
|
+
params = nil
|
360
|
+
body = last_arg
|
361
|
+
else
|
362
|
+
params = last_arg
|
363
|
+
body = nil
|
364
|
+
end
|
365
|
+
|
366
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
367
|
+
request_only ? request : request.response.body
|
368
|
+
end
|
369
|
+
|
370
|
+
# Returns definitions for a word based on the sentence in which it is found
|
371
|
+
# Use the offset parameter when the word occurs more than once in the sentence
|
372
|
+
#
|
373
|
+
def contextual_lookup(word, *args)
|
374
|
+
http_method = :get
|
375
|
+
path = '/word/{word}/contextualLookup'
|
376
|
+
path.sub!('{word}', word)
|
377
|
+
|
378
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
379
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
380
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
381
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
382
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
383
|
+
last_arg ||= {}
|
384
|
+
|
385
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
386
|
+
# that we want the request itself back, not the response body
|
387
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
388
|
+
request_only = true
|
389
|
+
last_arg.delete(:request_only)
|
390
|
+
end
|
391
|
+
|
392
|
+
if [:post, :put].include?(http_method)
|
393
|
+
params = nil
|
394
|
+
body = last_arg
|
395
|
+
else
|
396
|
+
params = last_arg
|
397
|
+
body = nil
|
398
|
+
end
|
399
|
+
|
400
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
401
|
+
request_only ? request : request.response.body
|
402
|
+
end
|
403
|
+
|
404
|
+
# Returns definitions for a word based on the sentence in which it is found
|
405
|
+
# Use the offset parameter when the word occurs more than once in the sentence
|
406
|
+
#
|
407
|
+
def contextual_lookup_post(word, *args)
|
408
|
+
http_method = :post
|
409
|
+
path = '/word/{word}/contextualLookup'
|
410
|
+
path.sub!('{word}', word)
|
411
|
+
|
412
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
413
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
414
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
415
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
416
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
417
|
+
last_arg ||= {}
|
418
|
+
|
419
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
420
|
+
# that we want the request itself back, not the response body
|
421
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
422
|
+
request_only = true
|
423
|
+
last_arg.delete(:request_only)
|
424
|
+
end
|
425
|
+
|
426
|
+
if [:post, :put].include?(http_method)
|
427
|
+
params = nil
|
428
|
+
body = last_arg
|
429
|
+
else
|
430
|
+
params = last_arg
|
431
|
+
body = nil
|
432
|
+
end
|
433
|
+
|
434
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
435
|
+
request_only ? request : request.response.body
|
436
|
+
end
|
437
|
+
|
438
|
+
end
|
@@ -0,0 +1,211 @@
|
|
1
|
+
# HEY HACKER! THIS IS AN AUTO-GENERATED FILE.
|
2
|
+
# So don't bother editing it. To see how it's built, take a look at the Rakefile
|
3
|
+
|
4
|
+
module WordListMethods
|
5
|
+
|
6
|
+
# Fetches a WordList by ID
|
7
|
+
#
|
8
|
+
def get_word_list_by_id(wordListId, *args)
|
9
|
+
http_method = :get
|
10
|
+
path = '/wordList/{wordListId}'
|
11
|
+
path.sub!('{wordListId}', wordListId)
|
12
|
+
|
13
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
14
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
15
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
16
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
17
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
18
|
+
last_arg ||= {}
|
19
|
+
|
20
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
21
|
+
# that we want the request itself back, not the response body
|
22
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
23
|
+
request_only = true
|
24
|
+
last_arg.delete(:request_only)
|
25
|
+
end
|
26
|
+
|
27
|
+
if [:post, :put].include?(http_method)
|
28
|
+
params = nil
|
29
|
+
body = last_arg
|
30
|
+
else
|
31
|
+
params = last_arg
|
32
|
+
body = nil
|
33
|
+
end
|
34
|
+
|
35
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
36
|
+
request_only ? request : request.response.body
|
37
|
+
end
|
38
|
+
|
39
|
+
# Fetches words in a WordList
|
40
|
+
#
|
41
|
+
def get_word_list_words(wordListId, *args)
|
42
|
+
http_method = :get
|
43
|
+
path = '/wordList/{wordListId}/words'
|
44
|
+
path.sub!('{wordListId}', wordListId)
|
45
|
+
|
46
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
47
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
48
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
49
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
50
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
51
|
+
last_arg ||= {}
|
52
|
+
|
53
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
54
|
+
# that we want the request itself back, not the response body
|
55
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
56
|
+
request_only = true
|
57
|
+
last_arg.delete(:request_only)
|
58
|
+
end
|
59
|
+
|
60
|
+
if [:post, :put].include?(http_method)
|
61
|
+
params = nil
|
62
|
+
body = last_arg
|
63
|
+
else
|
64
|
+
params = last_arg
|
65
|
+
body = nil
|
66
|
+
end
|
67
|
+
|
68
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
69
|
+
|
70
|
+
|
71
|
+
operation = self.operations.find_by_nickname('get_word_list_words')
|
72
|
+
response_value_type = operation.response.value_type
|
73
|
+
|
74
|
+
Massage(response.body)
|
75
|
+
|
76
|
+
|
77
|
+
end
|
78
|
+
|
79
|
+
# Adds words to a WordList
|
80
|
+
#
|
81
|
+
def add_words_to_word_list(wordListId, *args)
|
82
|
+
http_method = :post
|
83
|
+
path = '/wordList/{wordListId}/words'
|
84
|
+
path.sub!('{wordListId}', wordListId)
|
85
|
+
|
86
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
87
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
88
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
89
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
90
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
91
|
+
last_arg ||= {}
|
92
|
+
|
93
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
94
|
+
# that we want the request itself back, not the response body
|
95
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
96
|
+
request_only = true
|
97
|
+
last_arg.delete(:request_only)
|
98
|
+
end
|
99
|
+
|
100
|
+
if [:post, :put].include?(http_method)
|
101
|
+
params = nil
|
102
|
+
body = last_arg
|
103
|
+
else
|
104
|
+
params = last_arg
|
105
|
+
body = nil
|
106
|
+
end
|
107
|
+
|
108
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
109
|
+
request_only ? request : request.response.body
|
110
|
+
end
|
111
|
+
|
112
|
+
# Updates an existing WordList
|
113
|
+
#
|
114
|
+
def update_word_list(wordListId, *args)
|
115
|
+
http_method = :put
|
116
|
+
path = '/wordList/{wordListId}'
|
117
|
+
path.sub!('{wordListId}', wordListId)
|
118
|
+
|
119
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
120
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
121
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
122
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
123
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
124
|
+
last_arg ||= {}
|
125
|
+
|
126
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
127
|
+
# that we want the request itself back, not the response body
|
128
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
129
|
+
request_only = true
|
130
|
+
last_arg.delete(:request_only)
|
131
|
+
end
|
132
|
+
|
133
|
+
if [:post, :put].include?(http_method)
|
134
|
+
params = nil
|
135
|
+
body = last_arg
|
136
|
+
else
|
137
|
+
params = last_arg
|
138
|
+
body = nil
|
139
|
+
end
|
140
|
+
|
141
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
142
|
+
request_only ? request : request.response.body
|
143
|
+
end
|
144
|
+
|
145
|
+
# Deletes an existing WordList
|
146
|
+
#
|
147
|
+
def delete_word_list(wordListId, *args)
|
148
|
+
http_method = :delete
|
149
|
+
path = '/wordList/{wordListId}'
|
150
|
+
path.sub!('{wordListId}', wordListId)
|
151
|
+
|
152
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
153
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
154
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
155
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
156
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
157
|
+
last_arg ||= {}
|
158
|
+
|
159
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
160
|
+
# that we want the request itself back, not the response body
|
161
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
162
|
+
request_only = true
|
163
|
+
last_arg.delete(:request_only)
|
164
|
+
end
|
165
|
+
|
166
|
+
if [:post, :put].include?(http_method)
|
167
|
+
params = nil
|
168
|
+
body = last_arg
|
169
|
+
else
|
170
|
+
params = last_arg
|
171
|
+
body = nil
|
172
|
+
end
|
173
|
+
|
174
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
175
|
+
request_only ? request : request.response.body
|
176
|
+
end
|
177
|
+
|
178
|
+
# Removes words from a WordList
|
179
|
+
#
|
180
|
+
def delete_words_from_word_list(wordListId, *args)
|
181
|
+
http_method = :post
|
182
|
+
path = '/wordList/{wordListId}/deleteWords'
|
183
|
+
path.sub!('{wordListId}', wordListId)
|
184
|
+
|
185
|
+
# Ruby turns all key-value arguments at the end into a single hash
|
186
|
+
# e.g. Wordnik.word.get_examples('dingo', :limit => 10, :part_of_speech => 'verb')
|
187
|
+
# becomes {:limit => 10, :part_of_speech => 'verb'}
|
188
|
+
last_arg = args.pop if args.last.is_a?(Hash)
|
189
|
+
last_arg = args.pop if args.last.is_a?(Array)
|
190
|
+
last_arg ||= {}
|
191
|
+
|
192
|
+
# Look for a kwarg called :request_only, whose presence indicates
|
193
|
+
# that we want the request itself back, not the response body
|
194
|
+
if last_arg.is_a?(Hash) && last_arg[:request_only].present?
|
195
|
+
request_only = true
|
196
|
+
last_arg.delete(:request_only)
|
197
|
+
end
|
198
|
+
|
199
|
+
if [:post, :put].include?(http_method)
|
200
|
+
params = nil
|
201
|
+
body = last_arg
|
202
|
+
else
|
203
|
+
params = last_arg
|
204
|
+
body = nil
|
205
|
+
end
|
206
|
+
|
207
|
+
request = Wordnik::Request.new(http_method, path, :params => params, :body => body)
|
208
|
+
request_only ? request : request.response.body
|
209
|
+
end
|
210
|
+
|
211
|
+
end
|