imgur 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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>