imgur 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,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
@@ -0,0 +1,5 @@
1
+ *.sw?
2
+ .DS_Store
3
+ coverage
4
+ rdoc
5
+ pkg
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 jdp
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,18 @@
1
+ = imgur
2
+
3
+ Description goes here.
4
+
5
+ == Note on Patches/Pull Requests
6
+
7
+ * Fork the project.
8
+ * Make your feature addition or bug fix.
9
+ * Add tests for it. This is important so I don't break it in a
10
+ future version unintentionally.
11
+ * Commit, do not mess with rakefile, version, or history.
12
+ (if you want to have your own version, that is fine but
13
+ bump version in a commit by itself I can ignore when I pull)
14
+ * Send me a pull request. Bonus points for topic branches.
15
+
16
+ == Copyright
17
+
18
+ Copyright (c) 2009 jdp. See LICENSE for details.
@@ -0,0 +1,57 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "imgur"
8
+ gem.summary = %Q{Imgur API interface}
9
+ gem.description = %Q{An interface to the Imgur API}
10
+ gem.email = "jdp34@njit.edu"
11
+ gem.homepage = "http://github.com/jdp/imgur"
12
+ gem.authors = ["Justin Poliey"]
13
+ gem.add_development_dependency "bacon", ">= 1.1.0"
14
+ gem.add_development_dependency "yard", ">= 0.2.3.5"
15
+ gem.add_development_dependency "curb", ">= 0.5.4.0"
16
+ gem.add_development_dependency "crack", ">= 0.1.4"
17
+ gem.add_dependency "curb", ">= 0.5.4.0"
18
+ gem.add_dependency "crack", ">= 0.1.4"
19
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
20
+ end
21
+ Jeweler::GemcutterTasks.new
22
+ rescue LoadError
23
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
24
+ end
25
+
26
+ require 'rake/testtask'
27
+ Rake::TestTask.new(:spec) do |spec|
28
+ spec.libs << 'lib' << 'spec'
29
+ spec.pattern = 'spec/**/*_spec.rb'
30
+ spec.verbose = true
31
+ end
32
+
33
+ begin
34
+ require 'rcov/rcovtask'
35
+ Rcov::RcovTask.new do |spec|
36
+ spec.libs << 'spec'
37
+ spec.pattern = 'spec/**/*_spec.rb'
38
+ spec.verbose = true
39
+ end
40
+ rescue LoadError
41
+ task :rcov do
42
+ abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
43
+ end
44
+ end
45
+
46
+ task :spec => :check_dependencies
47
+
48
+ task :default => :spec
49
+
50
+ begin
51
+ require 'yard'
52
+ YARD::Rake::YardocTask.new
53
+ rescue LoadError
54
+ task :yardoc do
55
+ abort "YARD is not available. In order to run yardoc, you must: sudo gem install yard"
56
+ end
57
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.2.0
@@ -0,0 +1,30 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <link rel="stylesheet" href="style.css" type="text/css" charset="utf-8" />
7
+ <link rel="stylesheet" href="custom.css" type="text/css" charset="utf-8" />
8
+ <link rel="stylesheet" href="syntax_highlight.css" type="text/css" charset="utf-8" />
9
+
10
+ <script src="jquery.js" type="text/javascript" charset="utf-8"></script>
11
+ <script src="app.js" type="text/javascript" charset="utf-8"></script>
12
+ <title>Module: Imgur</title>
13
+ </head>
14
+ <body>
15
+ <div id="content">
16
+ <div class="section module Imgur">
17
+ <h1 class="title">Module: Imgur</h1>
18
+ <div class="section constants">
19
+
20
+ </div>
21
+ </div>
22
+ </div>
23
+ <div id="yard_info">
24
+ Generated on Thursday, October 15 2009 at 05:19:33 PM by
25
+ <abbr class="yard" title="Yay! A Ruby Documentation Tool"><a href="http://yard.soen.ca">YARD</a></abbr>
26
+ 0.2.3.5 (ruby-1.8.7).
27
+ </div>
28
+
29
+ </body>
30
+ </html>
@@ -0,0 +1,862 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+ <html>
4
+ <head>
5
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
6
+ <link rel="stylesheet" href="../style.css" type="text/css" charset="utf-8" />
7
+ <link rel="stylesheet" href="../custom.css" type="text/css" charset="utf-8" />
8
+ <link rel="stylesheet" href="../syntax_highlight.css" type="text/css" charset="utf-8" />
9
+
10
+ <script src="../jquery.js" type="text/javascript" charset="utf-8"></script>
11
+ <script src="../app.js" type="text/javascript" charset="utf-8"></script>
12
+ <title>Class: Imgur::API</title>
13
+ </head>
14
+ <body>
15
+ <div id="content">
16
+ <div class="section class Imgur_API">
17
+ <h1 class="title">Class: Imgur::API</h1>
18
+ <div class="section docstring">
19
+ <p>
20
+ Imgur API interface
21
+ </p>
22
+
23
+ </div><div class="section constants">
24
+
25
+ </div><div class="section constructor">
26
+ <h1>Constructor Summary</h1>
27
+ <div id="initialize-instance_method" class="section method">
28
+ <div class="details_title">
29
+ <div class='section methodsignature'>
30
+ <tt class='def'>
31
+ <span class='visibility'>public</span>
32
+ <span class='return_types'><tt><a title="API" href="">API</a></tt></span>
33
+ <span class='name'>initialize</span><span class='args'>(api_key)</span>
34
+ <span class='block'></span>
35
+ </tt>
36
+ </div>
37
+
38
+ </div><div class="section docstring">
39
+ <p>
40
+ Creates a new Imgur API instance
41
+ </p>
42
+
43
+ </div><div class="section tags">
44
+ <h2>Meta Tags</h2>
45
+ <div class="param">
46
+ <h3>Parameters:</h3>
47
+ <dl>
48
+
49
+
50
+ <dt>
51
+ <span class='type'>[<tt>String</tt>]</span>
52
+ <span class='name'>api_key</span>
53
+
54
+ </dt>
55
+ <dd>
56
+ <span class='desc'><p>
57
+ Your API key from http://imgur.com/register/api/
58
+ </p>
59
+ </span>
60
+ </dd>
61
+
62
+
63
+ </dl>
64
+ </div><div class="return">
65
+ <h3>Returns:</h3>
66
+ <dl>
67
+
68
+ <dt>
69
+
70
+ <span class='type'>[<tt><a title="API" href="">API</a></tt>]</span>
71
+
72
+
73
+ <span class='name'></span>
74
+
75
+
76
+ </dt>
77
+ <dd>
78
+ <span class='desc'><p>
79
+ An Imgur API instance
80
+ </p>
81
+ </span>
82
+ </dd>
83
+
84
+ </dl>
85
+ </div>
86
+
87
+ </div><div class="section source">
88
+ <span>[<a class="source_link" href="#">View source</a>]</span>
89
+ <div class="source_code">
90
+ <table>
91
+ <tr>
92
+ <td>
93
+ <pre class="lines">
94
+
95
+
96
+ 27
97
+ 28
98
+ 29</pre>
99
+ </td>
100
+ <td>
101
+ <pre class="code"><span class="info file"># File 'lib/imgur.rb', line 27</span>
102
+
103
+ <span class='def def kw'>def</span> <span class='initialize identifier id'>initialize</span> <span class='api_key identifier id'>api_key</span>
104
+ <span class='@api_key ivar id'>@api_key</span> <span class='assign token'>=</span> <span class='api_key identifier id'>api_key</span>
105
+ <span class='end end kw'>end</span>
106
+ </pre>
107
+ </td>
108
+ </tr>
109
+ </table>
110
+ </div>
111
+ </div>
112
+ </div>
113
+ </div> <div class="section visibilitygroup public">
114
+ <h1>Public Visibility</h1>
115
+ <div class="section methodsummary instance public">
116
+ <h1>Public Instance Method Summary</h1>
117
+ <table class="summary">
118
+
119
+ <tr>
120
+ <th class="signature">
121
+
122
+ <span class='overload'>
123
+ <span class='name'><a title="#delete" href="#delete-instance_method">#delete</a></span><span class='args'>(image_hash)</span>
124
+ <span class='block'></span>
125
+ </span>
126
+
127
+
128
+ </th>
129
+ <td class="docstring">
130
+ <p>
131
+ Deletes the image with the specified delete hash.
132
+ </p>
133
+
134
+
135
+ <p class='returns'>
136
+ Returns:
137
+ <span class='return_types'>
138
+ <tt>Boolean</tt>
139
+ </span>
140
+ </p>
141
+
142
+ </td>
143
+ </tr>
144
+
145
+ <tr>
146
+ <th class="signature">
147
+
148
+ <span class='overload'>
149
+ <span class='name'><a title="#gallery" href="#gallery-instance_method">#gallery</a></span><span class='args'>(params = {})</span>
150
+ <span class='block'></span>
151
+ </span>
152
+
153
+
154
+ </th>
155
+ <td class="docstring">
156
+ <p>
157
+ Returns a set of images in gallery format based on your specifications.
158
+ </p>
159
+
160
+
161
+ <p class='returns'>
162
+ Returns:
163
+ <span class='return_types'>
164
+ <tt>Array&lt;Hash></tt>
165
+ </span>
166
+ </p>
167
+
168
+ </td>
169
+ </tr>
170
+
171
+ <tr>
172
+ <th class="signature">
173
+
174
+ <span class='overload'>
175
+ <span class='name'><a title="#image_stats" href="#image_stats-instance_method">#image_stats</a></span><span class='args'>(image_hash)</span>
176
+ <span class='block'></span>
177
+ </span>
178
+
179
+
180
+ </th>
181
+ <td class="docstring">
182
+ <p>
183
+ Returns statistics for a specific image, like size, type, and bandwidth
184
+ usage.
185
+ </p>
186
+
187
+
188
+ <p class='returns'>
189
+ Returns:
190
+ <span class='return_types'>
191
+ <tt>Hash</tt>
192
+ </span>
193
+ </p>
194
+
195
+ </td>
196
+ </tr>
197
+
198
+ <tr>
199
+ <th class="signature">
200
+
201
+ <span class='overload'>
202
+ <span class='name'><a title="#upload_file" href="#upload_file-instance_method">#upload_file</a></span><span class='args'>(image_filename)</span>
203
+ <span class='block'></span>
204
+ </span>
205
+
206
+
207
+ </th>
208
+ <td class="docstring">
209
+ <p>
210
+ Uploads an image from local disk.
211
+ </p>
212
+
213
+
214
+ <p class='returns'>
215
+ Returns:
216
+ <span class='return_types'>
217
+ <tt>Hash</tt>
218
+ </span>
219
+ </p>
220
+
221
+ </td>
222
+ </tr>
223
+
224
+ <tr>
225
+ <th class="signature">
226
+
227
+ <span class='overload'>
228
+ <span class='name'><a title="#upload_from_url" href="#upload_from_url-instance_method">#upload_from_url</a></span><span class='args'>(image_url)</span>
229
+ <span class='block'></span>
230
+ </span>
231
+
232
+
233
+ </th>
234
+ <td class="docstring">
235
+ <p>
236
+ Uploads a file from a remote URL.
237
+ </p>
238
+
239
+
240
+ <p class='returns'>
241
+ Returns:
242
+ <span class='return_types'>
243
+ <tt>Hash</tt>
244
+ </span>
245
+ </p>
246
+
247
+ </td>
248
+ </tr>
249
+
250
+ </table>
251
+
252
+ </div>
253
+ <div class="section methoddetails instance public">
254
+ <h1>Public Instance Method Details</h1>
255
+
256
+ <div class="method">
257
+ <div class="method_header">
258
+ <h3>delete</h3>
259
+ </div><div id="delete-instance_method" class="section method">
260
+ <div class="details_title">
261
+ <div class='section methodsignature'>
262
+ <tt class='def'>
263
+ <span class='visibility'>public</span>
264
+ <span class='return_types'><tt>Boolean</tt></span>
265
+ <span class='name'>delete</span><span class='args'>(image_hash)</span>
266
+ <span class='block'></span>
267
+ </tt>
268
+ </div>
269
+
270
+ </div><div class="section docstring">
271
+ <p>
272
+ Deletes the image with the specified delete hash. Delete hashes are not the
273
+ same as image hashes, they are two separate hashes.
274
+ </p>
275
+
276
+ </div><div class="section tags">
277
+ <h2>Meta Tags</h2>
278
+ <div class="return">
279
+ <h3>Returns:</h3>
280
+ <dl>
281
+
282
+ <dt>
283
+
284
+ <span class='type'>[<tt>Boolean</tt>]</span>
285
+
286
+
287
+ <span class='name'></span>
288
+
289
+
290
+ </dt>
291
+ <dd>
292
+ <span class='desc'><p>
293
+ Whether or not the image was deleted
294
+ </p>
295
+ </span>
296
+ </dd>
297
+
298
+ </dl>
299
+ </div>
300
+
301
+ </div><div class="section source">
302
+ <span>[<a class="source_link" href="#">View source</a>]</span>
303
+ <div class="source_code">
304
+ <table>
305
+ <tr>
306
+ <td>
307
+ <pre class="lines">
308
+
309
+
310
+ 94
311
+ 95
312
+ 96
313
+ 97
314
+ 98
315
+ 99</pre>
316
+ </td>
317
+ <td>
318
+ <pre class="code"><span class="info file"># File 'lib/imgur.rb', line 94</span>
319
+
320
+ <span class='def def kw'>def</span> <span class='delete identifier id'>delete</span> <span class='image_hash identifier id'>image_hash</span>
321
+ <span class='c identifier id'>c</span> <span class='assign token'>=</span> <span class='Curl constant id'>Curl</span><span class='colon2 op'>::</span><span class='Easy constant id'>Easy</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='dstring node'>&quot;http://imgur.com/api/delete/#{image_hash}.json?key=#{@api_key}&quot;</span><span class='rparen token'>)</span>
322
+ <span class='c identifier id'>c</span><span class='dot token'>.</span><span class='http_get identifier id'>http_get</span>
323
+ <span class='response identifier id'>response</span> <span class='assign token'>=</span> <span class='Crack constant id'>Crack</span><span class='colon2 op'>::</span><span class='JSON constant id'>JSON</span><span class='dot token'>.</span><span class='parse identifier id'>parse</span> <span class='c identifier id'>c</span><span class='dot token'>.</span><span class='body_str identifier id'>body_str</span>
324
+ <span class='response identifier id'>response</span><span class='lbrack token'>[</span><span class='string val'>&quot;rsp&quot;</span><span class='rbrack token'>]</span><span class='lbrack token'>[</span><span class='string val'>&quot;stat&quot;</span><span class='rbrack token'>]</span> <span class='eq op'>==</span> <span class='string val'>&quot;ok&quot;</span>
325
+ <span class='end end kw'>end</span>
326
+ </pre>
327
+ </td>
328
+ </tr>
329
+ </table>
330
+ </div>
331
+ </div>
332
+ </div>
333
+ </div>
334
+
335
+ <div class="method">
336
+ <div class="method_header">
337
+ <h3>gallery</h3>
338
+ </div><div id="gallery-instance_method" class="section method">
339
+ <div class="details_title">
340
+ <div class='section methodsignature'>
341
+ <tt class='def'>
342
+ <span class='visibility'>public</span>
343
+ <span class='return_types'><tt>Array&lt;Hash></tt></span>
344
+ <span class='name'>gallery</span><span class='args'>(params = {})</span>
345
+ <span class='block'></span>
346
+ </tt>
347
+ </div>
348
+
349
+ </div><div class="section docstring">
350
+ <p>
351
+ Returns a set of images in gallery format based on your specifications
352
+ </p>
353
+
354
+ </div><div class="section tags">
355
+ <h2>Meta Tags</h2>
356
+ <div class="param">
357
+ <h3>Parameters:</h3>
358
+ <dl>
359
+
360
+
361
+ <dt>Options Hash <tt>params</tt></dt>
362
+ <dd>
363
+ <div class="option">
364
+ <table>
365
+ <tr>
366
+ <th class="name">Key Name</th>
367
+ <th class="default">Default Value</th>
368
+ <th class="type">Accepted Types</th>
369
+ <th class="desc">Description</th>
370
+ </tr>
371
+
372
+ <tr>
373
+ <td class="name">:sort</td>
374
+ <td class="default">
375
+
376
+ <span class="na">N/A</span>
377
+
378
+ </td>
379
+ <td class="type">[<tt>String</tt>]</td>
380
+ <td class="desc"><p>
381
+ Sort order, values are `:latest` or `:popular`
382
+ </p>
383
+ </td>
384
+ </tr>
385
+
386
+ <tr>
387
+ <td class="name">:view</td>
388
+ <td class="default">
389
+
390
+ <span class="na">N/A</span>
391
+
392
+ </td>
393
+ <td class="type">[<tt>String</tt>]</td>
394
+ <td class="desc"><p>
395
+ Date limit, values are `:week`, `:month`, or `:all`
396
+ </p>
397
+ </td>
398
+ </tr>
399
+
400
+ <tr>
401
+ <td class="name">:count</td>
402
+ <td class="default">
403
+
404
+ <tt>20</tt>
405
+
406
+ </td>
407
+ <td class="type">[<tt>Integer</tt>]</td>
408
+ <td class="desc"><p>
409
+ Number of images to return between 0 and 50
410
+ </p>
411
+ </td>
412
+ </tr>
413
+
414
+ <tr>
415
+ <td class="name">:page</td>
416
+ <td class="default">
417
+
418
+ <tt>1</tt>
419
+
420
+ </td>
421
+ <td class="type">[<tt>Integer</tt>]</td>
422
+ <td class="desc"><p>
423
+ Which page of images to display
424
+ </p>
425
+ </td>
426
+ </tr>
427
+
428
+ </table>
429
+ </div>
430
+ </dd>
431
+
432
+
433
+
434
+ </dl>
435
+ </div><div class="return">
436
+ <h3>Returns:</h3>
437
+ <dl>
438
+
439
+ <dt>
440
+
441
+ <span class='type'>[<tt>Array&lt;Hash></tt>]</span>
442
+
443
+
444
+ <span class='name'></span>
445
+
446
+
447
+ </dt>
448
+ <dd>
449
+ <span class='desc'><p>
450
+ Array of image data hashes
451
+ </p>
452
+ </span>
453
+ </dd>
454
+
455
+ </dl>
456
+ </div>
457
+ <div class="raise">
458
+ <h3>Raises:</h3>
459
+ <dl>
460
+
461
+ <dt>
462
+
463
+ <span class='type'>[<tt><a title="ImgurError" href="ImgurError.html">ImgurError</a></tt>]</span>
464
+
465
+
466
+
467
+ </dt>
468
+ <dd>
469
+ <span class='desc'></span>
470
+ </dd>
471
+
472
+ </dl>
473
+ </div>
474
+
475
+ </div><div class="section source">
476
+ <span>[<a class="source_link" href="#">View source</a>]</span>
477
+ <div class="source_code">
478
+ <table>
479
+ <tr>
480
+ <td>
481
+ <pre class="lines">
482
+
483
+
484
+ 67</pre>
485
+ </td>
486
+ <td>
487
+ <pre class="code"><span class="info file"># File 'lib/imgur.rb', line 67</span>
488
+
489
+ <span class='def def kw'>def</span> <span class='gallery identifier id'>gallery</span> <span class='params identifier id'>params</span> <span class='assign token'>=</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span>
490
+ </pre>
491
+ </td>
492
+ </tr>
493
+ </table>
494
+ </div>
495
+ </div>
496
+ </div>
497
+ </div>
498
+
499
+ <div class="method">
500
+ <div class="method_header">
501
+ <h3>image_stats</h3>
502
+ </div><div id="image_stats-instance_method" class="section method">
503
+ <div class="details_title">
504
+ <div class='section methodsignature'>
505
+ <tt class='def'>
506
+ <span class='visibility'>public</span>
507
+ <span class='return_types'><tt>Hash</tt></span>
508
+ <span class='name'>image_stats</span><span class='args'>(image_hash)</span>
509
+ <span class='block'></span>
510
+ </tt>
511
+ </div>
512
+
513
+ </div><div class="section docstring">
514
+ <p>
515
+ Returns statistics for a specific image, like size, type, and bandwidth
516
+ usage
517
+ </p>
518
+
519
+ </div><div class="section tags">
520
+ <h2>Meta Tags</h2>
521
+ <div class="param">
522
+ <h3>Parameters:</h3>
523
+ <dl>
524
+
525
+
526
+ <dt>
527
+ <span class='type'>[<tt>String</tt>]</span>
528
+ <span class='name'>image_hash</span>
529
+
530
+ </dt>
531
+ <dd>
532
+ <span class='desc'><p>
533
+ Imgur&#8217;s hash of the image
534
+ </p>
535
+ </span>
536
+ </dd>
537
+
538
+
539
+ </dl>
540
+ </div><div class="return">
541
+ <h3>Returns:</h3>
542
+ <dl>
543
+
544
+ <dt>
545
+
546
+ <span class='type'>[<tt>Hash</tt>]</span>
547
+
548
+
549
+ <span class='name'></span>
550
+
551
+
552
+ </dt>
553
+ <dd>
554
+ <span class='desc'><p>
555
+ Image statistics
556
+ </p>
557
+ </span>
558
+ </dd>
559
+
560
+ </dl>
561
+ </div>
562
+ <div class="raise">
563
+ <h3>Raises:</h3>
564
+ <dl>
565
+
566
+ <dt>
567
+
568
+ <span class='type'>[<tt><a title="ImgurError" href="ImgurError.html">ImgurError</a></tt>]</span>
569
+
570
+
571
+
572
+ </dt>
573
+ <dd>
574
+ <span class='desc'></span>
575
+ </dd>
576
+
577
+ </dl>
578
+ </div>
579
+
580
+ </div><div class="section source">
581
+ <span>[<a class="source_link" href="#">View source</a>]</span>
582
+ <div class="source_code">
583
+ <table>
584
+ <tr>
585
+ <td>
586
+ <pre class="lines">
587
+
588
+
589
+ 81
590
+ 82
591
+ 83
592
+ 84
593
+ 85
594
+ 86
595
+ 87</pre>
596
+ </td>
597
+ <td>
598
+ <pre class="code"><span class="info file"># File 'lib/imgur.rb', line 81</span>
599
+
600
+ <span class='def def kw'>def</span> <span class='image_stats identifier id'>image_stats</span> <span class='image_hash identifier id'>image_hash</span>
601
+ <span class='c identifier id'>c</span> <span class='assign token'>=</span> <span class='Curl constant id'>Curl</span><span class='colon2 op'>::</span><span class='Easy constant id'>Easy</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='dstring node'>&quot;http://imgur.com/api/stats/#{image_hash}.json&quot;</span><span class='rparen token'>)</span>
602
+ <span class='c identifier id'>c</span><span class='dot token'>.</span><span class='http_get identifier id'>http_get</span>
603
+ <span class='response identifier id'>response</span> <span class='assign token'>=</span> <span class='Crack constant id'>Crack</span><span class='colon2 op'>::</span><span class='JSON constant id'>JSON</span><span class='dot token'>.</span><span class='parse identifier id'>parse</span> <span class='c identifier id'>c</span><span class='dot token'>.</span><span class='body_str identifier id'>body_str</span>
604
+ <span class='raise identifier id'>raise</span> <span class='ImgurError constant id'>ImgurError</span><span class='comma token'>,</span> <span class='response identifier id'>response</span><span class='lbrack token'>[</span><span class='string val'>&quot;error&quot;</span><span class='rbrack token'>]</span><span class='lbrack token'>[</span><span class='string val'>&quot;error_msg&quot;</span><span class='rbrack token'>]</span> <span class='if if_mod kw'>if</span> <span class='response identifier id'>response</span><span class='dot token'>.</span><span class='key? fid id'>key?</span><span class='lparen token'>(</span><span class='string val'>&quot;error&quot;</span><span class='rparen token'>)</span>
605
+ <span class='response identifier id'>response</span><span class='lbrack token'>[</span><span class='string val'>&quot;stats&quot;</span><span class='rbrack token'>]</span>
606
+ <span class='end end kw'>end</span>
607
+ </pre>
608
+ </td>
609
+ </tr>
610
+ </table>
611
+ </div>
612
+ </div>
613
+ </div>
614
+ </div>
615
+
616
+ <div class="method">
617
+ <div class="method_header">
618
+ <h3>upload_file</h3>
619
+ </div><div id="upload_file-instance_method" class="section method">
620
+ <div class="details_title">
621
+ <div class='section methodsignature'>
622
+ <tt class='def'>
623
+ <span class='visibility'>public</span>
624
+ <span class='return_types'><tt>Hash</tt></span>
625
+ <span class='name'>upload_file</span><span class='args'>(image_filename)</span>
626
+ <span class='block'></span>
627
+ </tt>
628
+ </div>
629
+
630
+ </div><div class="section docstring">
631
+ <p>
632
+ Uploads an image from local disk
633
+ </p>
634
+
635
+ </div><div class="section tags">
636
+ <h2>Meta Tags</h2>
637
+ <div class="param">
638
+ <h3>Parameters:</h3>
639
+ <dl>
640
+
641
+
642
+ <dt>
643
+ <span class='type'>[<tt>String</tt>]</span>
644
+ <span class='name'>image_filename</span>
645
+
646
+ </dt>
647
+ <dd>
648
+ <span class='desc'><p>
649
+ The filename of the image on disk to upload
650
+ </p>
651
+ </span>
652
+ </dd>
653
+
654
+
655
+ </dl>
656
+ </div><div class="return">
657
+ <h3>Returns:</h3>
658
+ <dl>
659
+
660
+ <dt>
661
+
662
+ <span class='type'>[<tt>Hash</tt>]</span>
663
+
664
+
665
+ <span class='name'></span>
666
+
667
+
668
+ </dt>
669
+ <dd>
670
+ <span class='desc'><p>
671
+ Image data
672
+ </p>
673
+ </span>
674
+ </dd>
675
+
676
+ </dl>
677
+ </div>
678
+ <div class="raise">
679
+ <h3>Raises:</h3>
680
+ <dl>
681
+
682
+ <dt>
683
+
684
+ <span class='type'>[<tt><a title="ImgurError" href="ImgurError.html">ImgurError</a></tt>]</span>
685
+
686
+
687
+
688
+ </dt>
689
+ <dd>
690
+ <span class='desc'></span>
691
+ </dd>
692
+
693
+ </dl>
694
+ </div>
695
+
696
+ </div><div class="section source">
697
+ <span>[<a class="source_link" href="#">View source</a>]</span>
698
+ <div class="source_code">
699
+ <table>
700
+ <tr>
701
+ <td>
702
+ <pre class="lines">
703
+
704
+
705
+ 36
706
+ 37
707
+ 38
708
+ 39
709
+ 40
710
+ 41
711
+ 42
712
+ 43</pre>
713
+ </td>
714
+ <td>
715
+ <pre class="code"><span class="info file"># File 'lib/imgur.rb', line 36</span>
716
+
717
+ <span class='def def kw'>def</span> <span class='upload_file identifier id'>upload_file</span> <span class='image_filename identifier id'>image_filename</span>
718
+ <span class='c identifier id'>c</span> <span class='assign token'>=</span> <span class='Curl constant id'>Curl</span><span class='colon2 op'>::</span><span class='Easy constant id'>Easy</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='string val'>&quot;http://imgur.com/api/upload.json&quot;</span><span class='rparen token'>)</span>
719
+ <span class='c identifier id'>c</span><span class='dot token'>.</span><span class='multipart_form_post identifier id'>multipart_form_post</span> <span class='assign token'>=</span> <span class='true true kw'>true</span>
720
+ <span class='c identifier id'>c</span><span class='dot token'>.</span><span class='http_post identifier id'>http_post</span><span class='lparen token'>(</span><span class='Curl constant id'>Curl</span><span class='colon2 op'>::</span><span class='PostField constant id'>PostField</span><span class='dot token'>.</span><span class='content identifier id'>content</span><span class='lparen token'>(</span><span class='string val'>'key'</span><span class='comma token'>,</span> <span class='@api_key ivar id'>@api_key</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='Curl constant id'>Curl</span><span class='colon2 op'>::</span><span class='PostField constant id'>PostField</span><span class='dot token'>.</span><span class='file identifier id'>file</span><span class='lparen token'>(</span><span class='string val'>'image'</span><span class='comma token'>,</span> <span class='image_filename identifier id'>image_filename</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
721
+ <span class='response identifier id'>response</span> <span class='assign token'>=</span> <span class='Crack constant id'>Crack</span><span class='colon2 op'>::</span><span class='JSON constant id'>JSON</span><span class='dot token'>.</span><span class='parse identifier id'>parse</span> <span class='c identifier id'>c</span><span class='dot token'>.</span><span class='body_str identifier id'>body_str</span>
722
+ <span class='raise identifier id'>raise</span> <span class='ImgurError constant id'>ImgurError</span><span class='comma token'>,</span> <span class='response identifier id'>response</span><span class='lbrack token'>[</span><span class='string val'>&quot;rsp&quot;</span><span class='rbrack token'>]</span><span class='lbrack token'>[</span><span class='string val'>&quot;error_msg&quot;</span><span class='rbrack token'>]</span> <span class='if if_mod kw'>if</span> <span class='response identifier id'>response</span><span class='lbrack token'>[</span><span class='string val'>&quot;rsp&quot;</span><span class='rbrack token'>]</span><span class='lbrack token'>[</span><span class='string val'>&quot;stat&quot;</span><span class='rbrack token'>]</span> <span class='eq op'>==</span> <span class='string val'>&quot;fail&quot;</span>
723
+ <span class='response identifier id'>response</span><span class='lbrack token'>[</span><span class='string val'>&quot;rsp&quot;</span><span class='rbrack token'>]</span><span class='lbrack token'>[</span><span class='string val'>&quot;image&quot;</span><span class='rbrack token'>]</span>
724
+ <span class='end end kw'>end</span>
725
+ </pre>
726
+ </td>
727
+ </tr>
728
+ </table>
729
+ </div>
730
+ </div>
731
+ </div>
732
+ </div>
733
+
734
+ <div class="method">
735
+ <div class="method_header">
736
+ <h3>upload_from_url</h3>
737
+ </div><div id="upload_from_url-instance_method" class="section method">
738
+ <div class="details_title">
739
+ <div class='section methodsignature'>
740
+ <tt class='def'>
741
+ <span class='visibility'>public</span>
742
+ <span class='return_types'><tt>Hash</tt></span>
743
+ <span class='name'>upload_from_url</span><span class='args'>(image_url)</span>
744
+ <span class='block'></span>
745
+ </tt>
746
+ </div>
747
+
748
+ </div><div class="section docstring">
749
+ <p>
750
+ Uploads a file from a remote URL
751
+ </p>
752
+
753
+ </div><div class="section tags">
754
+ <h2>Meta Tags</h2>
755
+ <div class="param">
756
+ <h3>Parameters:</h3>
757
+ <dl>
758
+
759
+
760
+ <dt>
761
+ <span class='type'>[<tt>String</tt>]</span>
762
+ <span class='name'>image_url</span>
763
+
764
+ </dt>
765
+ <dd>
766
+ <span class='desc'><p>
767
+ The URL of the image to upload
768
+ </p>
769
+ </span>
770
+ </dd>
771
+
772
+
773
+ </dl>
774
+ </div><div class="return">
775
+ <h3>Returns:</h3>
776
+ <dl>
777
+
778
+ <dt>
779
+
780
+ <span class='type'>[<tt>Hash</tt>]</span>
781
+
782
+
783
+ <span class='name'></span>
784
+
785
+
786
+ </dt>
787
+ <dd>
788
+ <span class='desc'><p>
789
+ Image data
790
+ </p>
791
+ </span>
792
+ </dd>
793
+
794
+ </dl>
795
+ </div>
796
+ <div class="raise">
797
+ <h3>Raises:</h3>
798
+ <dl>
799
+
800
+ <dt>
801
+
802
+ <span class='type'>[<tt><a title="ImgurError" href="ImgurError.html">ImgurError</a></tt>]</span>
803
+
804
+
805
+
806
+ </dt>
807
+ <dd>
808
+ <span class='desc'></span>
809
+ </dd>
810
+
811
+ </dl>
812
+ </div>
813
+
814
+ </div><div class="section source">
815
+ <span>[<a class="source_link" href="#">View source</a>]</span>
816
+ <div class="source_code">
817
+ <table>
818
+ <tr>
819
+ <td>
820
+ <pre class="lines">
821
+
822
+
823
+ 50
824
+ 51
825
+ 52
826
+ 53
827
+ 54
828
+ 55
829
+ 56</pre>
830
+ </td>
831
+ <td>
832
+ <pre class="code"><span class="info file"># File 'lib/imgur.rb', line 50</span>
833
+
834
+ <span class='def def kw'>def</span> <span class='upload_from_url identifier id'>upload_from_url</span> <span class='image_url identifier id'>image_url</span>
835
+ <span class='c identifier id'>c</span> <span class='assign token'>=</span> <span class='Curl constant id'>Curl</span><span class='colon2 op'>::</span><span class='Easy constant id'>Easy</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='string val'>&quot;http://imgur.com/api/upload.json&quot;</span><span class='rparen token'>)</span>
836
+ <span class='c identifier id'>c</span><span class='dot token'>.</span><span class='http_post identifier id'>http_post</span><span class='lparen token'>(</span><span class='Curl constant id'>Curl</span><span class='colon2 op'>::</span><span class='PostField constant id'>PostField</span><span class='dot token'>.</span><span class='content identifier id'>content</span><span class='lparen token'>(</span><span class='string val'>'key'</span><span class='comma token'>,</span> <span class='@api_key ivar id'>@api_key</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='Curl constant id'>Curl</span><span class='colon2 op'>::</span><span class='PostField constant id'>PostField</span><span class='dot token'>.</span><span class='content identifier id'>content</span><span class='lparen token'>(</span><span class='string val'>'image'</span><span class='comma token'>,</span> <span class='image_url identifier id'>image_url</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
837
+ <span class='response identifier id'>response</span> <span class='assign token'>=</span> <span class='Crack constant id'>Crack</span><span class='colon2 op'>::</span><span class='JSON constant id'>JSON</span><span class='dot token'>.</span><span class='parse identifier id'>parse</span> <span class='c identifier id'>c</span><span class='dot token'>.</span><span class='body_str identifier id'>body_str</span>
838
+ <span class='raise identifier id'>raise</span> <span class='ImgurError constant id'>ImgurError</span><span class='comma token'>,</span> <span class='response identifier id'>response</span><span class='lbrack token'>[</span><span class='string val'>&quot;rsp&quot;</span><span class='rbrack token'>]</span><span class='lbrack token'>[</span><span class='string val'>&quot;error_msg&quot;</span><span class='rbrack token'>]</span> <span class='if if_mod kw'>if</span> <span class='response identifier id'>response</span><span class='lbrack token'>[</span><span class='string val'>&quot;rsp&quot;</span><span class='rbrack token'>]</span><span class='lbrack token'>[</span><span class='string val'>&quot;stat&quot;</span><span class='rbrack token'>]</span> <span class='eq op'>==</span> <span class='string val'>&quot;fail&quot;</span>
839
+ <span class='response identifier id'>response</span><span class='lbrack token'>[</span><span class='string val'>&quot;rsp&quot;</span><span class='rbrack token'>]</span><span class='lbrack token'>[</span><span class='string val'>&quot;image&quot;</span><span class='rbrack token'>]</span>
840
+ <span class='end end kw'>end</span>
841
+ </pre>
842
+ </td>
843
+ </tr>
844
+ </table>
845
+ </div>
846
+ </div>
847
+ </div>
848
+ </div>
849
+
850
+ </div>
851
+ </div>
852
+
853
+ </div>
854
+ </div>
855
+ <div id="yard_info">
856
+ Generated on Thursday, October 15 2009 at 05:19:33 PM by
857
+ <abbr class="yard" title="Yay! A Ruby Documentation Tool"><a href="http://yard.soen.ca">YARD</a></abbr>
858
+ 0.2.3.5 (ruby-1.8.7).
859
+ </div>
860
+
861
+ </body>
862
+ </html>