google_storage 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore DELETED
@@ -1,10 +0,0 @@
1
- *.gem
2
- .bundle
3
- Gemfile.lock
4
- pkg/*
5
- .idea
6
- .yardoc
7
- .yardoc/*
8
-
9
-
10
-
data/.yardopts DELETED
@@ -1 +0,0 @@
1
- --no-private lib/**/*.rb - README.textile
data/Gemfile DELETED
@@ -1,4 +0,0 @@
1
- source "http://rubygems.org"
2
-
3
- # Specify your gem's dependencies in google_storage.gemspec
4
- gemspec
@@ -1,120 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
- <title>
7
- Module: GoogleStorage
8
-
9
- &mdash; Documentation by YARD 0.7.2
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- relpath = '';
19
- if (relpath != '') relpath += '/';
20
- </script>
21
-
22
- <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
23
-
24
- <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
25
-
26
-
27
- </head>
28
- <body>
29
- <script type="text/javascript" charset="utf-8">
30
- if (window.top.frames.main) document.body.className = 'frames';
31
- </script>
32
-
33
- <div id="header">
34
- <div id="menu">
35
-
36
- <a href="_index.html">Index (G)</a> &raquo;
37
-
38
-
39
- <span class="title">GoogleStorage</span>
40
-
41
-
42
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
- </div>
44
-
45
- <div id="search">
46
-
47
- <a id="class_list_link" href="#">Class List</a>
48
-
49
- <a id="method_list_link" href="#">Method List</a>
50
-
51
- <a id="file_list_link" href="#">File List</a>
52
-
53
- </div>
54
- <div class="clear"></div>
55
- </div>
56
-
57
- <iframe id="search_frame"></iframe>
58
-
59
- <div id="content"><h1>Module: GoogleStorage
60
-
61
-
62
-
63
- </h1>
64
-
65
- <dl class="box">
66
-
67
-
68
-
69
-
70
-
71
-
72
-
73
-
74
- <dt class="r1 last">Defined in:</dt>
75
- <dd class="r1 last">lib/google_storage.rb<span class="defines">,<br />
76
- lib/google_storage/token.rb,<br /> lib/google_storage/client.rb,<br /> lib/google_storage/bucket.rb,<br /> lib/google_storage/object.rb,<br /> lib/google_storage/version.rb,<br /> lib/google_storage/request.rb,<br /> lib/generators/google_storage/install/install_generator.rb</span>
77
- </dd>
78
-
79
- </dl>
80
- <div class="clear"></div>
81
-
82
- <h2>Defined Under Namespace</h2>
83
- <p class="children">
84
-
85
-
86
-
87
-
88
- <strong class="classes">Classes:</strong> <span class='object_link'><a href="GoogleStorage/Client.html" title="GoogleStorage::Client (class)">Client</a></span>, <span class='object_link'><a href="GoogleStorage/InstallGenerator.html" title="GoogleStorage::InstallGenerator (class)">InstallGenerator</a></span>
89
-
90
-
91
- </p>
92
-
93
- <h2>Constant Summary</h2>
94
-
95
- <dl class="constants">
96
-
97
- <dt id="VERSION-constant" class="">VERSION =
98
-
99
- </dt>
100
- <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>0.1.1</span><span class='tstring_end'>&quot;</span></span></pre></dd>
101
-
102
- </dl>
103
-
104
-
105
-
106
-
107
-
108
-
109
-
110
-
111
- </div>
112
-
113
- <div id="footer">
114
- Generated on Fri Jul 1 12:07:25 2011 by
115
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
116
- 0.7.2 (ruby-1.9.2).
117
- </div>
118
-
119
- </body>
120
- </html>
@@ -1,1514 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
- <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
- <title>
7
- Class: GoogleStorage::Client
8
-
9
- &mdash; Documentation by YARD 0.7.2
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- relpath = '..';
19
- if (relpath != '') relpath += '/';
20
- </script>
21
-
22
- <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
23
-
24
- <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
25
-
26
-
27
- </head>
28
- <body>
29
- <script type="text/javascript" charset="utf-8">
30
- if (window.top.frames.main) document.body.className = 'frames';
31
- </script>
32
-
33
- <div id="header">
34
- <div id="menu">
35
-
36
- <a href="../_index.html">Index (C)</a> &raquo;
37
- <span class='title'><span class='object_link'><a href="../GoogleStorage.html" title="GoogleStorage (module)">GoogleStorage</a></span></span>
38
- &raquo;
39
- <span class="title">Client</span>
40
-
41
-
42
- <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
- </div>
44
-
45
- <div id="search">
46
-
47
- <a id="class_list_link" href="#">Class List</a>
48
-
49
- <a id="method_list_link" href="#">Method List</a>
50
-
51
- <a id="file_list_link" href="#">File List</a>
52
-
53
- </div>
54
- <div class="clear"></div>
55
- </div>
56
-
57
- <iframe id="search_frame"></iframe>
58
-
59
- <div id="content"><h1>Class: GoogleStorage::Client
60
-
61
-
62
-
63
- </h1>
64
-
65
- <dl class="box">
66
-
67
- <dt class="r1">Inherits:</dt>
68
- <dd class="r1">
69
- <span class="inheritName">Object</span>
70
-
71
- <ul class="fullTree">
72
- <li>Object</li>
73
-
74
- <li class="next">GoogleStorage::Client</li>
75
-
76
- </ul>
77
- <a href="#" class="inheritanceTree">show all</a>
78
-
79
- </dd>
80
-
81
-
82
-
83
-
84
-
85
-
86
-
87
-
88
-
89
- <dt class="r2 last">Defined in:</dt>
90
- <dd class="r2 last">lib/google_storage/client.rb<span class="defines">,<br />
91
- lib/google_storage/token.rb,<br /> lib/google_storage/bucket.rb,<br /> lib/google_storage/object.rb,<br /> lib/google_storage/request.rb</span>
92
- </dd>
93
-
94
- </dl>
95
- <div class="clear"></div>
96
-
97
- <h2>Overview</h2><div class="docstring">
98
- <div class="discussion">
99
- <h2>Buckets &amp; Objects</h2>
100
- <p>
101
- Buckets are the basic containers that hold all of your data. There is only
102
- one Google namespace so every bucket across the entire namespace has to be
103
- uniquely named so you may find that some bucket names have already been
104
- taken.
105
- </p>
106
- <p>
107
- You can have multiple folders and files within a bucket but you can&#8217;t
108
- nest buckets inside of each other.
109
- </p>
110
- <p>
111
- Objects are basically just another name for Files, stored within Google
112
- Storage. Google Storage stores Objects in 2 parts, holding both the object
113
- data and the object metadata. The metadata just holds key value data that
114
- describes the objects properties.
115
- </p>
116
- <h2>Predefined ACL&#8217;s (Access Control Lists)</h2>
117
- <p>
118
- ACL&#8217;s allow you to control permission settings on Objects and Buckets
119
- </p>
120
- <p>
121
- Google Storage uses access control lists (ACLs) to manage object and bucket
122
- access. ACLs are the mechanism you use to share objects with other users
123
- and allow other users to access your buckets and objects.
124
- </p>
125
- <p>
126
- At the moment, this google_storage gem only supports the following
127
- pre-defined ACL&#8217;s. I&#8217;ll add support for custom ACL&#8217;s
128
- soon.
129
- </p>
130
- <table>
131
- <tr><td valign="top">project-private </td><td><p>
132
- Gives permission to the project team based on their roles. Anyone who is
133
- part of the team has READ permission and project owners and project editors
134
- have FULL_CONTROL permission. This is the default ACL that&#8217;s applied
135
- when you create a bucket.
136
- </p>
137
- </td></tr>
138
- <tr><td valign="top">private </td><td><p>
139
- Gives the requester FULL_CONTROL permission for a bucket or object. This is
140
- the default ACL that&#8217;s applied when you upload an object.
141
- </p>
142
- </td></tr>
143
- <tr><td valign="top">public-read </td><td><p>
144
- Gives the requester FULL_CONTROL permission and gives all anonymous users
145
- READ permission. When you apply this to an object, anyone on the Internet
146
- can read the object without authenticating.
147
- </p>
148
- </td></tr>
149
- <tr><td valign="top">public-read-write </td><td><p>
150
- Gives the requester FULL_CONTROL permission and gives all anonymous users
151
- READ and WRITE permission. This ACL applies only to buckets.
152
- </p>
153
- </td></tr>
154
- <tr><td valign="top">authenticated-read </td><td><p>
155
- Gives the requester FULL_CONTROL permission and gives all authenticated
156
- Google account holders READ permission.
157
- </p>
158
- </td></tr>
159
- <tr><td valign="top">bucket-owner-read </td><td><p>
160
- Gives the requester FULL_CONTROL permission and gives the bucket owner READ
161
- permission. This is used only with objects.
162
- </p>
163
- </td></tr>
164
- <tr><td valign="top">bucket-owner-full-control </td><td><p>
165
- Gives the requester FULL_CONTROL permission and gives the bucket owner
166
- FULL_CONTROL permission. This is used only with objects.
167
- </p>
168
- </td></tr>
169
- </table>
170
-
171
-
172
- </div>
173
- </div>
174
- <div class="tags">
175
-
176
- </div>
177
-
178
-
179
-
180
-
181
-
182
- <h2>
183
- Instance Method Summary
184
- <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
185
- </h2>
186
-
187
- <ul class="summary">
188
-
189
- <li class="public ">
190
- <span class="summary_signature">
191
-
192
- <a href="#acquire_refresh_token-instance_method" title="#acquire_refresh_token (instance method)">- (Object) <strong>acquire_refresh_token</strong>(token, options = {}) </a>
193
-
194
-
195
-
196
- </span>
197
-
198
-
199
-
200
-
201
-
202
-
203
-
204
-
205
- <span class="summary_desc"><div class='inline'></div></span>
206
-
207
- </li>
208
-
209
-
210
- <li class="public ">
211
- <span class="summary_signature">
212
-
213
- <a href="#authorization_url-instance_method" title="#authorization_url (instance method)">- (Object) <strong>authorization_url</strong>(scope) </a>
214
-
215
-
216
-
217
- </span>
218
-
219
-
220
-
221
-
222
-
223
-
224
-
225
-
226
- <span class="summary_desc"><div class='inline'></div></span>
227
-
228
- </li>
229
-
230
-
231
- <li class="public ">
232
- <span class="summary_signature">
233
-
234
- <a href="#bucket_acls-instance_method" title="#bucket_acls (instance method)">- (Object) <strong>bucket_acls</strong>(bucket_name, options = {}) </a>
235
-
236
-
237
-
238
- </span>
239
-
240
-
241
-
242
-
243
-
244
-
245
-
246
-
247
- <span class="summary_desc"><div class='inline'><p>
248
- <b>Lists the ACL that has been applied to a bucket</b>.
249
- </p>
250
- </div></span>
251
-
252
- </li>
253
-
254
-
255
- <li class="public ">
256
- <span class="summary_signature">
257
-
258
- <a href="#create_bucket-instance_method" title="#create_bucket (instance method)">- (Object) <strong>create_bucket</strong>(bucket_name, options = {}) </a>
259
-
260
-
261
-
262
- </span>
263
-
264
-
265
-
266
-
267
-
268
-
269
-
270
-
271
- <span class="summary_desc"><div class='inline'><p>
272
- <b>Creates a new bucket for your project and applies the
273
- &#8216;project-private&#8217; ACL by default</b>.
274
- </p>
275
- </div></span>
276
-
277
- </li>
278
-
279
-
280
- <li class="public ">
281
- <span class="summary_signature">
282
-
283
- <a href="#delete_bucket-instance_method" title="#delete_bucket (instance method)">- (Object) <strong>delete_bucket</strong>(bucket_name, options = {}) </a>
284
-
285
-
286
-
287
- </span>
288
-
289
-
290
-
291
-
292
-
293
-
294
-
295
-
296
- <span class="summary_desc"><div class='inline'><p>
297
- <b>Deletes a specified bucket from your project</b>.
298
- </p>
299
- </div></span>
300
-
301
- </li>
302
-
303
-
304
- <li class="public ">
305
- <span class="summary_signature">
306
-
307
- <a href="#delete_object-instance_method" title="#delete_object (instance method)">- (Object) <strong>delete_object</strong>(bucket_name, filename, options = {}) </a>
308
-
309
-
310
-
311
- </span>
312
-
313
-
314
-
315
-
316
-
317
-
318
-
319
-
320
- <span class="summary_desc"><div class='inline'><p>
321
- <b>Deletes an Object from your bucket</b>.
322
- </p>
323
- </div></span>
324
-
325
- </li>
326
-
327
-
328
- <li class="public ">
329
- <span class="summary_signature">
330
-
331
- <a href="#get_bucket-instance_method" title="#get_bucket (instance method)">- (Object) <strong>get_bucket</strong>(bucket_name, options = {}) </a>
332
-
333
-
334
-
335
- </span>
336
-
337
-
338
-
339
-
340
-
341
-
342
-
343
-
344
- <span class="summary_desc"><div class='inline'><p>
345
- <b>Returns a list of all Objects within a specified bucket</b>.
346
- </p>
347
- </div></span>
348
-
349
- </li>
350
-
351
-
352
- <li class="public ">
353
- <span class="summary_signature">
354
-
355
- <a href="#get_object-instance_method" title="#get_object (instance method)">- (Object) <strong>get_object</strong>(bucket_name, filename, options = {}) </a>
356
-
357
-
358
-
359
- </span>
360
-
361
-
362
-
363
-
364
-
365
-
366
-
367
-
368
- <span class="summary_desc"><div class='inline'><p>
369
- <b>Returns a Google Storage Object inside of a Hash</b>.
370
- </p>
371
- </div></span>
372
-
373
- </li>
374
-
375
-
376
- <li class="public ">
377
- <span class="summary_signature">
378
-
379
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (Client) <strong>initialize</strong>(options = {}) </a>
380
-
381
-
382
-
383
- </span>
384
-
385
- <span class="note title constructor">constructor</span>
386
-
387
-
388
-
389
-
390
-
391
-
392
-
393
-
394
- <span class="summary_desc"><div class='inline'><p>
395
- <b>You need to initialize a client to be able to make requests with the
396
- google_storage gem</b>.
397
- </p>
398
- </div></span>
399
-
400
- </li>
401
-
402
-
403
- <li class="public ">
404
- <span class="summary_signature">
405
-
406
- <a href="#list_buckets-instance_method" title="#list_buckets (instance method)">- (Object) <strong>list_buckets</strong> </a>
407
-
408
-
409
-
410
- </span>
411
-
412
-
413
-
414
-
415
-
416
-
417
-
418
-
419
- <span class="summary_desc"><div class='inline'><p>
420
- <b>Lists all buckets available within your project</b>.
421
- </p>
422
- </div></span>
423
-
424
- </li>
425
-
426
-
427
- <li class="public ">
428
- <span class="summary_signature">
429
-
430
- <a href="#object_acls-instance_method" title="#object_acls (instance method)">- (Object) <strong>object_acls</strong>(bucket_name, filename, options = {}) </a>
431
-
432
-
433
-
434
- </span>
435
-
436
-
437
-
438
-
439
-
440
-
441
-
442
-
443
- <span class="summary_desc"><div class='inline'><p>
444
- <b>Lists the ACL that has been applied to a particular object</b>.
445
- </p>
446
- </div></span>
447
-
448
- </li>
449
-
450
-
451
- <li class="public ">
452
- <span class="summary_signature">
453
-
454
- <a href="#object_head-instance_method" title="#object_head (instance method)">- (Object) <strong>object_head</strong>(bucket_name, filename, options = {}) </a>
455
-
456
-
457
-
458
- </span>
459
-
460
-
461
-
462
-
463
-
464
-
465
-
466
-
467
- <span class="summary_desc"><div class='inline'><p>
468
- <b>Returns the metadata of an Object stored</b>.
469
- </p>
470
- </div></span>
471
-
472
- </li>
473
-
474
-
475
- <li class="public ">
476
- <span class="summary_signature">
477
-
478
- <a href="#put_object-instance_method" title="#put_object (instance method)">- (Object) <strong>put_object</strong>(bucket_name, filename, options = {}) </a>
479
-
480
-
481
-
482
- (also: #upload_object)
483
-
484
- </span>
485
-
486
-
487
-
488
-
489
-
490
-
491
-
492
-
493
- <span class="summary_desc"><div class='inline'><p>
494
- <b>Uploads an Object to Google Storage, or updates if using the same
495
- filename</b>.
496
- </p>
497
- </div></span>
498
-
499
- </li>
500
-
501
-
502
- </ul>
503
-
504
-
505
- <div id="constructor_details" class="method_details_list">
506
- <h2>Constructor Details</h2>
507
-
508
- <div class="method_details first">
509
- <p class="signature first" id="initialize-instance_method">
510
-
511
- - (<tt><span class='object_link'><a href="" title="GoogleStorage::Client (class)">Client</a></span></tt>) <strong>initialize</strong>(options = {})
512
-
513
-
514
-
515
- </p><div class="docstring">
516
- <div class="discussion">
517
- <p>
518
- <b>You need to initialize a client to be able to make requests with the
519
- google_storage gem</b>
520
- </p>
521
- <p>
522
- Example:
523
- </p>
524
- <p>
525
- The following will look for google_storage.yml in your rails config
526
- directory
527
- </p>
528
- <pre class="code">
529
- <span class='id client'>client</span> <span class='op'>=</span> <span class='const'>GoogleStorage</span><span class='op'>::</span><span class='const'>Client</span><span class='period'>.</span><span class='id new'>new</span>
530
- </pre>
531
- <p>
532
- Otherwise you can pass in the path to the google_storage.yml
533
- </p>
534
- <pre class="code">
535
- <span class='id client'>client</span> <span class='op'>=</span> <span class='const'>GoogleStorage</span><span class='op'>::</span><span class='const'>Client</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='symbol'>:config_yml</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>C:/example_path/google_storage.yml</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
536
- </pre>
537
- <p>
538
- Other options:
539
- </p>
540
- <pre class="code">
541
- :debug =&gt; true &lt;-- This will output all debug information from the HTTP requests to $stderr</pre>
542
-
543
-
544
- </div>
545
- </div>
546
- <div class="tags">
547
-
548
- </div><table class="source_code">
549
- <tr>
550
- <td>
551
- <pre class="lines">
552
-
553
-
554
- 63
555
- 64
556
- 65
557
- 66
558
- 67
559
- 68
560
- 69
561
- 70
562
- 71
563
- 72
564
- 73
565
- 74
566
- 75
567
- 76
568
- 77
569
- 78
570
- 79
571
- 80
572
- 81
573
- 82
574
- 83
575
- 84
576
- 85
577
- 86
578
- 87
579
- 88
580
- 89
581
- 90
582
- 91
583
- 92
584
- 93
585
- 94
586
- 95
587
- 96
588
- 97
589
- 98
590
- 99
591
- 100
592
- 101
593
- 102
594
- 103</pre>
595
- </td>
596
- <td>
597
- <pre class="code"><span class="info file"># File 'lib/google_storage/client.rb', line 63</span>
598
-
599
- <span class='kw'>def</span> <span class='id initialize'>initialize</span><span class='lparen'>(</span><span class='id options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
600
-
601
- <span class='kw'>if</span> <span class='lparen'>(</span><span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:config_yml</span><span class='rbracket'>]</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:config_yml</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id nil?'>nil?</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>Rails</span><span class='period'>.</span><span class='id root'>root</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='const'>File</span><span class='period'>.</span><span class='id exists?'>exists?</span><span class='lparen'>(</span><span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='const'>Rails</span><span class='period'>.</span><span class='id root'>root</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>config</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>google_storage.yml</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rparen'>)</span><span class='rparen'>)</span>
602
- <span class='id config_path'>config_path</span> <span class='op'>=</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:config_yml</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='const'>File</span><span class='period'>.</span><span class='id expand_path'>expand_path</span><span class='lparen'>(</span><span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:config_yml</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='const'>Rails</span><span class='period'>.</span><span class='id root'>root</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>config</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>google_storage.yml</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
603
- <span class='kw'>end</span>
604
-
605
- <span class='id raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> \nCan't find a google_storage.yml file to initialise with..
606
- \nIf running inside a Rails Application
607
- Please run: rails generate google_storage:install
608
- To generate a google_storage.yml file in your config directory
609
- \nIf running manually within a script or whatever
610
- Initialise GoogleStorage with a path to your config yml file
611
- Example: GoogleStorage::Client.new(:config_yml =&gt; 'path to your google storage yml')
612
- \nIf running a rake task try passing: path='path to your google storage yml'
613
- </span><span class='tstring_content'>\n\n</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id config_path'>config_path</span> <span class='op'>&amp;&amp;</span> <span class='const'>File</span><span class='period'>.</span><span class='id exists?'>exists?</span><span class='lparen'>(</span><span class='id config_path'>config_path</span><span class='rparen'>)</span>
614
-
615
- <span class='id config_yml'>config_yml</span> <span class='op'>=</span> <span class='const'>YAML</span><span class='op'>::</span><span class='id load'>load</span><span class='lparen'>(</span><span class='const'>File</span><span class='period'>.</span><span class='id open'>open</span><span class='lparen'>(</span><span class='id config_path'>config_path</span><span class='rparen'>)</span><span class='rparen'>)</span>
616
-
617
- <span class='ivar'>@project_id</span> <span class='op'>=</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>google_config</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>x-goog-project-id</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
618
-
619
- <span class='ivar'>@client_id</span> <span class='op'>=</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>web_applications</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>client_id</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
620
- <span class='ivar'>@client_secret</span> <span class='op'>=</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>web_applications</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>client_secret</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
621
- <span class='ivar'>@client_secret</span><span class='period'>.</span><span class='id force_encoding'>force_encoding</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>UTF-8</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
622
- <span class='ivar'>@refresh_token</span> <span class='op'>=</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>refresh_token</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>refresh_token</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
623
-
624
- <span class='comment'>#TODO Add support for individual permission types
625
- </span> <span class='kw'>if</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>google_storage_ids</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
626
- <span class='ivar'>@gsid_you</span> <span class='op'>=</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>google_storage_ids</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>you</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>google_storage_ids</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>you</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
627
- <span class='ivar'>@gsid_owners</span> <span class='op'>=</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>google_storage_ids</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>owners</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>google_storage_ids</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>owners</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
628
- <span class='ivar'>@gsid_editors</span> <span class='op'>=</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>google_storage_ids</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>editors</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>google_storage_ids</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>editors</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
629
- <span class='ivar'>@gsid_team</span> <span class='op'>=</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>google_storage_ids</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>team</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>google_storage_ids</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>team</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
630
- <span class='kw'>end</span>
631
-
632
- <span class='comment'>#TODO - make redirect_uri's support multiple urls
633
- </span> <span class='ivar'>@redirect_uri</span> <span class='op'>=</span> <span class='id config_yml'>config_yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>web_applications</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>redirect_uris</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
634
- <span class='comment'>#TODO - maybe add support for API v1 as well... but probably not..
635
- </span> <span class='ivar'>@api_version</span> <span class='op'>=</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:x_goog_api_version</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:x_goog_api_version</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='int'>2</span>
636
- <span class='ivar'>@debug</span> <span class='op'>=</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:debug</span><span class='rbracket'>]</span>
637
- <span class='ivar'>@timeout</span> <span class='op'>=</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:timeout</span><span class='rbracket'>]</span>
638
- <span class='ivar'>@host</span> <span class='op'>=</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:host</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:host</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>commondatastorage.googleapis.com</span><span class='tstring_end'>'</span></span>
639
- <span class='kw'>end</span></pre>
640
- </td>
641
- </tr>
642
- </table>
643
- </div>
644
-
645
- </div>
646
-
647
-
648
- <div id="instance_method_details" class="method_details_list">
649
- <h2>Instance Method Details</h2>
650
-
651
-
652
- <div class="method_details first">
653
- <p class="signature first" id="acquire_refresh_token-instance_method">
654
-
655
- - (<tt>Object</tt>) <strong>acquire_refresh_token</strong>(token, options = {})
656
-
657
-
658
-
659
- </p><table class="source_code">
660
- <tr>
661
- <td>
662
- <pre class="lines">
663
-
664
-
665
- 18
666
- 19
667
- 20
668
- 21
669
- 22
670
- 23</pre>
671
- </td>
672
- <td>
673
- <pre class="code"><span class="info file"># File 'lib/google_storage/token.rb', line 18</span>
674
-
675
- <span class='kw'>def</span> <span class='id acquire_refresh_token'>acquire_refresh_token</span><span class='lparen'>(</span><span class='id token'>token</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
676
- <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>grant_type</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>authorization_code</span><span class='tstring_end'>'</span></span>
677
- <span class='id response'>response</span> <span class='op'>=</span> <span class='id post_request'>post_request</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>accounts.google.com</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/o/oauth2/token</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id token'>token</span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
678
- <span class='kw'>return</span> <span class='id response'>response</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>refresh_token</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id response'>response</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>refresh_token</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
679
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Failed to acquire a refresh token. Something went wrong. Try getting a new Auth code.</span><span class='tstring_end'>&quot;</span></span>
680
- <span class='kw'>end</span></pre>
681
- </td>
682
- </tr>
683
- </table>
684
- </div>
685
-
686
- <div class="method_details ">
687
- <p class="signature " id="authorization_url-instance_method">
688
-
689
- - (<tt>Object</tt>) <strong>authorization_url</strong>(scope)
690
-
691
-
692
-
693
- </p><table class="source_code">
694
- <tr>
695
- <td>
696
- <pre class="lines">
697
-
698
-
699
- 4
700
- 5
701
- 6
702
- 7
703
- 8
704
- 9
705
- 10
706
- 11
707
- 12
708
- 13
709
- 14
710
- 15
711
- 16</pre>
712
- </td>
713
- <td>
714
- <pre class="code"><span class="info file"># File 'lib/google_storage/token.rb', line 4</span>
715
-
716
- <span class='kw'>def</span> <span class='id authorization_url'>authorization_url</span><span class='lparen'>(</span><span class='id scope'>scope</span><span class='rparen'>)</span>
717
- <span class='id scope_url'>scope_url</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id scope'>scope</span>
718
- <span class='kw'>when</span> <span class='symbol'>:read_only</span>
719
- <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>https://www.googleapis.com/auth/devstorage.read_only</span><span class='tstring_end'>'</span></span>
720
- <span class='kw'>when</span> <span class='symbol'>:read_write</span>
721
- <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>https://www.googleapis.com/auth/devstorage.read_write</span><span class='tstring_end'>'</span></span>
722
- <span class='kw'>when</span> <span class='symbol'>:full_control</span>
723
- <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>https://www.googleapis.com/auth/devstorage.full_control</span><span class='tstring_end'>'</span></span>
724
- <span class='kw'>else</span>
725
- <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>https://www.google.com/m8/feeds/</span><span class='tstring_end'>'</span></span>
726
- <span class='kw'>end</span>
727
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>https://accounts.google.com/o/oauth2/auth?client_id=</span><span class='embexpr_beg'>#{</span><span class='ivar'>@client_id</span><span class='rbrace'>}</span><span class='tstring_content'>&amp;redirect_uri=</span><span class='embexpr_beg'>#{</span><span class='ivar'>@redirect_uri</span><span class='rbrace'>}</span><span class='tstring_content'>&amp;scope=</span><span class='embexpr_beg'>#{</span><span class='id scope_url'>scope_url</span><span class='rbrace'>}</span><span class='tstring_content'>&amp;response_type=code</span><span class='tstring_end'>&quot;</span></span>
728
- <span class='kw'>end</span></pre>
729
- </td>
730
- </tr>
731
- </table>
732
- </div>
733
-
734
- <div class="method_details ">
735
- <p class="signature " id="bucket_acls-instance_method">
736
-
737
- - (<tt>Object</tt>) <strong>bucket_acls</strong>(bucket_name, options = {})
738
-
739
-
740
-
741
- </p><div class="docstring">
742
- <div class="discussion">
743
- <p>
744
- <b>Lists the ACL that has been applied to a bucket</b>
745
- </p>
746
- <p>
747
- Google Ref: <a
748
- href="http://code.google.com/apis/storage/docs/reference-methods.html#getbucket">code.google.com/apis/storage/docs/reference-methods.html#getbucket</a>
749
- </p>
750
- <p>
751
- Example:
752
- </p>
753
- <pre class="code">
754
- <span class='id client'>client</span><span class='period'>.</span><span class='id bucket_acls'>bucket_acls</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>bucket_name</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></pre>
755
-
756
-
757
- </div>
758
- </div>
759
- <div class="tags">
760
-
761
- </div><table class="source_code">
762
- <tr>
763
- <td>
764
- <pre class="lines">
765
-
766
-
767
- 39
768
- 40
769
- 41
770
- 42
771
- 43
772
- 44
773
- 45
774
- 46
775
- 47
776
- 48
777
- 49
778
- 50</pre>
779
- </td>
780
- <td>
781
- <pre class="code"><span class="info file"># File 'lib/google_storage/bucket.rb', line 39</span>
782
-
783
- <span class='kw'>def</span> <span class='id bucket_acls'>bucket_acls</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
784
- <span class='id resp'>resp</span> <span class='op'>=</span> <span class='id get'>get</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/?acl</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
785
- <span class='id resp_obj'>resp_obj</span> <span class='op'>=</span> <span class='const'>Crack</span><span class='op'>::</span><span class='const'>XML</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span>
786
- <span class='kw'>if</span> <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>AccessControlList</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
787
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:success</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
788
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:bucket_name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id bucket_name'>bucket_name</span>
789
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:acl</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>AccessControlList</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
790
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:raw</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Crack</span><span class='op'>::</span><span class='const'>XML</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span>
791
- <span class='id resp_obj'>resp_obj</span><span class='period'>.</span><span class='id each_key'>each_key</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id key'>key</span><span class='op'>|</span> <span class='id resp_obj'>resp_obj</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='id key'>key</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:success</span> <span class='op'>||</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:bucket_name</span> <span class='op'>||</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:acl</span> <span class='op'>||</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:raw</span> <span class='rbrace'>}</span>
792
- <span class='kw'>end</span>
793
- <span class='kw'>return</span> <span class='id resp_obj'>resp_obj</span>
794
- <span class='kw'>end</span></pre>
795
- </td>
796
- </tr>
797
- </table>
798
- </div>
799
-
800
- <div class="method_details ">
801
- <p class="signature " id="create_bucket-instance_method">
802
-
803
- - (<tt>Object</tt>) <strong>create_bucket</strong>(bucket_name, options = {})
804
-
805
-
806
-
807
- </p><div class="docstring">
808
- <div class="discussion">
809
- <p>
810
- <b>Creates a new bucket for your project and applies the
811
- &#8216;project-private&#8217; ACL by default</b>
812
- </p>
813
- <p>
814
- Google Ref: <a
815
- href="http://code.google.com/apis/storage/docs/reference-methods.html#putbucket">code.google.com/apis/storage/docs/reference-methods.html#putbucket</a>
816
- </p>
817
- <p>
818
- You can apply a different ACL to a bucket by passing in an :x_goog_acl
819
- option and applying one of the predefined ACL&#8217;s
820
- </p>
821
- <p>
822
- Example:
823
- </p>
824
- <pre class="code">
825
- client.create_bucket('bucket_name') &lt;-- private bucket
826
- client.create_bucket('bucket_name', :x_goog_acl =&gt; 'public-read') &lt;-- public readable bucket
827
- </pre>
828
- <p>
829
- Available Options:
830
- </p>
831
- <pre class="code">
832
- :x_goog_acl =&gt; 'public-read'</pre>
833
-
834
-
835
- </div>
836
- </div>
837
- <div class="tags">
838
-
839
- </div><table class="source_code">
840
- <tr>
841
- <td>
842
- <pre class="lines">
843
-
844
-
845
- 71
846
- 72
847
- 73
848
- 74
849
- 75
850
- 76
851
- 77
852
- 78
853
- 79
854
- 80
855
- 81
856
- 82</pre>
857
- </td>
858
- <td>
859
- <pre class="code"><span class="info file"># File 'lib/google_storage/bucket.rb', line 71</span>
860
-
861
- <span class='kw'>def</span> <span class='id create_bucket'>create_bucket</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
862
- <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:send_goog_project_id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
863
- <span class='id resp'>resp</span> <span class='op'>=</span> <span class='id put'>put</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
864
- <span class='id resp_obj'>resp_obj</span> <span class='op'>=</span> <span class='const'>Crack</span><span class='op'>::</span><span class='const'>XML</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span>
865
- <span class='kw'>if</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id code'>code</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>200</span><span class='tstring_end'>&quot;</span></span>
866
- <span class='id resp_obj'>resp_obj</span><span class='period'>.</span><span class='id clear'>clear</span>
867
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:success</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
868
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:bucket_name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id bucket_name'>bucket_name</span>
869
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:message</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Bucket created</span><span class='tstring_end'>&quot;</span></span>
870
- <span class='kw'>end</span>
871
- <span class='kw'>return</span> <span class='id resp_obj'>resp_obj</span>
872
- <span class='kw'>end</span></pre>
873
- </td>
874
- </tr>
875
- </table>
876
- </div>
877
-
878
- <div class="method_details ">
879
- <p class="signature " id="delete_bucket-instance_method">
880
-
881
- - (<tt>Object</tt>) <strong>delete_bucket</strong>(bucket_name, options = {})
882
-
883
-
884
-
885
- </p><div class="docstring">
886
- <div class="discussion">
887
- <p>
888
- <b>Deletes a specified bucket from your project</b>
889
- </p>
890
- <p>
891
- Google Ref: <a
892
- href="http://code.google.com/apis/storage/docs/reference-methods.html#deletebucket">code.google.com/apis/storage/docs/reference-methods.html#deletebucket</a>
893
- </p>
894
- <p>
895
- <b>Note:</b> You can only delete an empty bucket
896
- </p>
897
- <p>
898
- Example:
899
- </p>
900
- <pre class="code">
901
- <span class='id client'>client</span><span class='period'>.</span><span class='id delete_bucket'>delete_bucket</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>bucket_name</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></pre>
902
-
903
-
904
- </div>
905
- </div>
906
- <div class="tags">
907
-
908
- </div><table class="source_code">
909
- <tr>
910
- <td>
911
- <pre class="lines">
912
-
913
-
914
- 127
915
- 128
916
- 129
917
- 130
918
- 131
919
- 132
920
- 133
921
- 134
922
- 135</pre>
923
- </td>
924
- <td>
925
- <pre class="code"><span class="info file"># File 'lib/google_storage/bucket.rb', line 127</span>
926
-
927
- <span class='kw'>def</span> <span class='id delete_bucket'>delete_bucket</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
928
- <span class='id resp'>resp</span> <span class='op'>=</span> <span class='id delete'>delete</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
929
- <span class='kw'>return</span> <span class='const'>Crack</span><span class='op'>::</span><span class='const'>XML</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id code'>code</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>204</span><span class='tstring_end'>&quot;</span></span>
930
- <span class='id resp_obj'>resp_obj</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
931
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:success</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
932
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:bucket_name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id bucket_name'>bucket_name</span>
933
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:message</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Bucket deleted</span><span class='tstring_end'>&quot;</span></span>
934
- <span class='kw'>return</span> <span class='id resp_obj'>resp_obj</span>
935
- <span class='kw'>end</span></pre>
936
- </td>
937
- </tr>
938
- </table>
939
- </div>
940
-
941
- <div class="method_details ">
942
- <p class="signature " id="delete_object-instance_method">
943
-
944
- - (<tt>Object</tt>) <strong>delete_object</strong>(bucket_name, filename, options = {})
945
-
946
-
947
-
948
- </p><div class="docstring">
949
- <div class="discussion">
950
- <p>
951
- <b>Deletes an Object from your bucket</b>
952
- </p>
953
- <p>
954
- Google Ref: <a
955
- href="http://code.google.com/apis/storage/docs/reference-methods.html#deleteobject">code.google.com/apis/storage/docs/reference-methods.html#deleteobject</a>
956
- </p>
957
- <p>
958
- Example:
959
- </p>
960
- <pre class="code">
961
- <span class='id client'>client</span><span class='period'>.</span><span class='id delete_object'>delete_object</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>bucket_name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>file.jpg</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></pre>
962
-
963
-
964
- </div>
965
- </div>
966
- <div class="tags">
967
-
968
- </div><table class="source_code">
969
- <tr>
970
- <td>
971
- <pre class="lines">
972
-
973
-
974
- 175
975
- 176
976
- 177
977
- 178
978
- 179
979
- 180
980
- 181
981
- 182
982
- 183</pre>
983
- </td>
984
- <td>
985
- <pre class="code"><span class="info file"># File 'lib/google_storage/object.rb', line 175</span>
986
-
987
- <span class='kw'>def</span> <span class='id delete_object'>delete_object</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='id filename'>filename</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
988
- <span class='id filename'>filename</span><span class='period'>.</span><span class='id gsub!'>gsub!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^\/</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
989
- <span class='id resp'>resp</span> <span class='op'>=</span> <span class='id delete'>delete</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id filename'>filename</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
990
- <span class='kw'>return</span> <span class='const'>Crack</span><span class='op'>::</span><span class='const'>XML</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id code'>code</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>204</span><span class='tstring_end'>&quot;</span></span>
991
- <span class='id resp_obj'>resp_obj</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
992
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:success</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
993
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:message</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Object deleted successfully</span><span class='tstring_end'>&quot;</span></span>
994
- <span class='kw'>return</span> <span class='id resp_obj'>resp_obj</span>
995
- <span class='kw'>end</span></pre>
996
- </td>
997
- </tr>
998
- </table>
999
- </div>
1000
-
1001
- <div class="method_details ">
1002
- <p class="signature " id="get_bucket-instance_method">
1003
-
1004
- - (<tt>Object</tt>) <strong>get_bucket</strong>(bucket_name, options = {})
1005
-
1006
-
1007
-
1008
- </p><div class="docstring">
1009
- <div class="discussion">
1010
- <p>
1011
- <b>Returns a list of all Objects within a specified bucket</b>
1012
- </p>
1013
- <p>
1014
- Google Ref: <a
1015
- href="http://code.google.com/apis/storage/docs/reference-methods.html#getbucket">code.google.com/apis/storage/docs/reference-methods.html#getbucket</a>
1016
- </p>
1017
- <p>
1018
- Example:
1019
- </p>
1020
- <pre class="code">
1021
- <span class='id client'>client</span><span class='period'>.</span><span class='id get_bucket'>get_bucket</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>bucket_name</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></pre>
1022
-
1023
-
1024
- </div>
1025
- </div>
1026
- <div class="tags">
1027
-
1028
- </div><table class="source_code">
1029
- <tr>
1030
- <td>
1031
- <pre class="lines">
1032
-
1033
-
1034
- 96
1035
- 97
1036
- 98
1037
- 99
1038
- 100
1039
- 101
1040
- 102
1041
- 103
1042
- 104
1043
- 105
1044
- 106
1045
- 107
1046
- 108
1047
- 109
1048
- 110
1049
- 111</pre>
1050
- </td>
1051
- <td>
1052
- <pre class="code"><span class="info file"># File 'lib/google_storage/bucket.rb', line 96</span>
1053
-
1054
- <span class='kw'>def</span> <span class='id get_bucket'>get_bucket</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1055
- <span class='id resp'>resp</span> <span class='op'>=</span> <span class='id get'>get</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
1056
- <span class='id resp_obj'>resp_obj</span> <span class='op'>=</span> <span class='const'>Crack</span><span class='op'>::</span><span class='const'>XML</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span>
1057
- <span class='kw'>if</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id code'>code</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>200</span><span class='tstring_end'>&quot;</span></span>
1058
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:success</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
1059
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:bucket_name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id bucket_name'>bucket_name</span>
1060
- <span class='id contents'>contents</span> <span class='op'>=</span> <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ListBucketResult</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Contents</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='const'>Array</span><span class='period'>.</span><span class='id new'>new</span> <span class='op'>:</span> <span class='kw'>nil</span>
1061
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ListBucketResult</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Contents</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Array</span><span class='rparen'>)</span> <span class='op'>?</span> \
1062
- <span class='lparen'>(</span><span class='id contents'>contents</span> <span class='op'>=</span> <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ListBucketResult</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Contents</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>:</span> \
1063
- <span class='lparen'>(</span><span class='id contents'>contents</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ListBucketResult</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Contents</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id contents'>contents</span><span class='period'>.</span><span class='id nil?'>nil?</span>
1064
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:contents</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id contents'>contents</span>
1065
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:raw</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Crack</span><span class='op'>::</span><span class='const'>XML</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span>
1066
- <span class='id resp_obj'>resp_obj</span><span class='period'>.</span><span class='id each_key'>each_key</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id key'>key</span><span class='op'>|</span> <span class='id resp_obj'>resp_obj</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='id key'>key</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:success</span> <span class='op'>||</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:bucket_name</span> <span class='op'>||</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:contents</span> <span class='op'>||</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:raw</span> <span class='rbrace'>}</span>
1067
- <span class='kw'>end</span>
1068
- <span class='kw'>return</span> <span class='id resp_obj'>resp_obj</span>
1069
- <span class='kw'>end</span></pre>
1070
- </td>
1071
- </tr>
1072
- </table>
1073
- </div>
1074
-
1075
- <div class="method_details ">
1076
- <p class="signature " id="get_object-instance_method">
1077
-
1078
- - (<tt>Object</tt>) <strong>get_object</strong>(bucket_name, filename, options = {})
1079
-
1080
-
1081
-
1082
- </p><div class="docstring">
1083
- <div class="discussion">
1084
- <p>
1085
- <b>Returns a Google Storage Object inside of a Hash</b>
1086
- </p>
1087
- <p>
1088
- Google Ref: <a
1089
- href="http://code.google.com/apis/storage/docs/reference-methods.html#getobject">code.google.com/apis/storage/docs/reference-methods.html#getobject</a>
1090
- </p>
1091
- <p>
1092
- Example:
1093
- </p>
1094
- <pre class="code">
1095
- <span class='const'>Returns</span> <span class='id a'>a</span> <span class='const'>Hash</span> <span class='id containing'>containing</span> <span class='id your'>your</span> <span class='id object'>object</span>
1096
- <span class='id client'>client</span><span class='period'>.</span><span class='id get_object'>get_object</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>bucket_name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example_image.jpg</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
1097
-
1098
- <span class='const'>Or</span> <span class='id write'>write</span> <span class='id the'>the</span> <span class='id file'>file</span> <span class='id directly'>directly</span> <span class='id to'>to</span> <span class='id your'>your</span> <span class='id file'>file</span> <span class='id system'>system</span>
1099
- <span class='id client'>client</span><span class='period'>.</span><span class='id get_object'>get_object</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>bucket_name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>example_image.jpg</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='symbol'>:write_to_file</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>C:/example/file.jpg</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></pre>
1100
-
1101
-
1102
- </div>
1103
- </div>
1104
- <div class="tags">
1105
-
1106
- </div><table class="source_code">
1107
- <tr>
1108
- <td>
1109
- <pre class="lines">
1110
-
1111
-
1112
- 23
1113
- 24
1114
- 25
1115
- 26
1116
- 27
1117
- 28
1118
- 29
1119
- 30
1120
- 31
1121
- 32
1122
- 33
1123
- 34
1124
- 35
1125
- 36
1126
- 37
1127
- 38
1128
- 39
1129
- 40
1130
- 41
1131
- 42
1132
- 43
1133
- 44
1134
- 45
1135
- 46
1136
- 47
1137
- 48
1138
- 49
1139
- 50</pre>
1140
- </td>
1141
- <td>
1142
- <pre class="code"><span class="info file"># File 'lib/google_storage/object.rb', line 23</span>
1143
-
1144
- <span class='kw'>def</span> <span class='id get_object'>get_object</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='id filename'>filename</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1145
- <span class='id filename'>filename</span><span class='period'>.</span><span class='id gsub!'>gsub!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^\/</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1146
- <span class='id resp'>resp</span> <span class='op'>=</span> <span class='id get'>get</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id filename'>filename</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
1147
- <span class='kw'>return</span> <span class='const'>Crack</span><span class='op'>::</span><span class='const'>XML</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id code'>code</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>200</span><span class='tstring_end'>&quot;</span></span>
1148
- <span class='id resp_obj'>resp_obj</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1149
- <span class='kw'>if</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:write_to_file</span><span class='rbracket'>]</span>
1150
- <span class='kw'>begin</span>
1151
- <span class='const'>File</span><span class='period'>.</span><span class='id open'>open</span><span class='lparen'>(</span><span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:write_to_file</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>wb</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id f'>f</span><span class='op'>|</span> <span class='id f'>f</span><span class='period'>.</span><span class='id write'>write</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
1152
- <span class='kw'>rescue</span> <span class='const'>Exception</span> <span class='op'>=&gt;</span> <span class='id msg'>msg</span>
1153
- <span class='kw'>return</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Error</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='id msg'>msg</span><span class='rbrace'>}</span>
1154
- <span class='kw'>end</span>
1155
- <span class='id resp_obj'>resp_obj</span><span class='period'>.</span><span class='id clear'>clear</span>
1156
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:success</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
1157
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:message</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>File created</span><span class='tstring_end'>&quot;</span></span>
1158
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:path_to_file</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:write_to_file</span><span class='rbracket'>]</span>
1159
- <span class='kw'>return</span> <span class='id resp_obj'>resp_obj</span>
1160
- <span class='kw'>end</span>
1161
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:success</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
1162
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:filename</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id filename'>filename</span>
1163
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:body</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span>
1164
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>content-type</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
1165
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:size</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>content-length</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
1166
-
1167
- <span class='kw'>return</span> <span class='id resp_obj'>resp_obj</span>
1168
-
1169
-
1170
-
1171
- <span class='kw'>end</span></pre>
1172
- </td>
1173
- </tr>
1174
- </table>
1175
- </div>
1176
-
1177
- <div class="method_details ">
1178
- <p class="signature " id="list_buckets-instance_method">
1179
-
1180
- - (<tt>Object</tt>) <strong>list_buckets</strong>
1181
-
1182
-
1183
-
1184
- </p><div class="docstring">
1185
- <div class="discussion">
1186
- <p>
1187
- <b>Lists all buckets available within your project</b>
1188
- </p>
1189
- <p>
1190
- Google Ref: <a
1191
- href="http://code.google.com/apis/storage/docs/reference-methods.html#getservice">code.google.com/apis/storage/docs/reference-methods.html#getservice</a>
1192
- </p>
1193
-
1194
-
1195
- </div>
1196
- </div>
1197
- <div class="tags">
1198
-
1199
- </div><table class="source_code">
1200
- <tr>
1201
- <td>
1202
- <pre class="lines">
1203
-
1204
-
1205
- 13
1206
- 14
1207
- 15
1208
- 16
1209
- 17
1210
- 18
1211
- 19
1212
- 20
1213
- 21
1214
- 22
1215
- 23
1216
- 24
1217
- 25</pre>
1218
- </td>
1219
- <td>
1220
- <pre class="code"><span class="info file"># File 'lib/google_storage/bucket.rb', line 13</span>
1221
-
1222
- <span class='kw'>def</span> <span class='id list_buckets'>list_buckets</span>
1223
- <span class='id options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1224
- <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:send_goog_project_id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
1225
- <span class='id resp'>resp</span> <span class='op'>=</span> <span class='id get'>get</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
1226
- <span class='id resp_obj'>resp_obj</span> <span class='op'>=</span> <span class='const'>Crack</span><span class='op'>::</span><span class='const'>XML</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span>
1227
- <span class='kw'>if</span> <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ListAllMyBucketsResult</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
1228
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:success</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
1229
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:buckets</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ListAllMyBucketsResult</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Buckets</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Bucket</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
1230
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:raw</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Crack</span><span class='op'>::</span><span class='const'>XML</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span>
1231
- <span class='id resp_obj'>resp_obj</span><span class='period'>.</span><span class='id each_key'>each_key</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id key'>key</span><span class='op'>|</span> <span class='id resp_obj'>resp_obj</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='id key'>key</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:success</span> <span class='op'>||</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:buckets</span> <span class='op'>||</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:raw</span> <span class='rbrace'>}</span>
1232
- <span class='kw'>end</span>
1233
- <span class='kw'>return</span> <span class='id resp_obj'>resp_obj</span>
1234
- <span class='kw'>end</span></pre>
1235
- </td>
1236
- </tr>
1237
- </table>
1238
- </div>
1239
-
1240
- <div class="method_details ">
1241
- <p class="signature " id="object_acls-instance_method">
1242
-
1243
- - (<tt>Object</tt>) <strong>object_acls</strong>(bucket_name, filename, options = {})
1244
-
1245
-
1246
-
1247
- </p><div class="docstring">
1248
- <div class="discussion">
1249
- <p>
1250
- <b>Lists the ACL that has been applied to a particular object</b>
1251
- </p>
1252
- <p>
1253
- Google Ref: <a
1254
- href="http://code.google.com/apis/storage/docs/reference-methods.html#getobject">code.google.com/apis/storage/docs/reference-methods.html#getobject</a>
1255
- </p>
1256
- <p>
1257
- Example:
1258
- </p>
1259
- <pre class="code">
1260
- <span class='id client'>client</span><span class='period'>.</span><span class='id object_acls'>object_acls</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>bucket_name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>file.jpg</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></pre>
1261
-
1262
-
1263
- </div>
1264
- </div>
1265
- <div class="tags">
1266
-
1267
- </div><table class="source_code">
1268
- <tr>
1269
- <td>
1270
- <pre class="lines">
1271
-
1272
-
1273
- 121
1274
- 122
1275
- 123
1276
- 124
1277
- 125
1278
- 126
1279
- 127
1280
- 128
1281
- 129
1282
- 130
1283
- 131
1284
- 132
1285
- 133</pre>
1286
- </td>
1287
- <td>
1288
- <pre class="code"><span class="info file"># File 'lib/google_storage/object.rb', line 121</span>
1289
-
1290
- <span class='kw'>def</span> <span class='id object_acls'>object_acls</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='id filename'>filename</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1291
- <span class='id filename'>filename</span><span class='period'>.</span><span class='id gsub!'>gsub!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^\/</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1292
- <span class='id resp'>resp</span> <span class='op'>=</span> <span class='id get'>get</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id filename'>filename</span><span class='rbrace'>}</span><span class='tstring_content'>?acl</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
1293
- <span class='id resp_obj'>resp_obj</span> <span class='op'>=</span> <span class='const'>Crack</span><span class='op'>::</span><span class='const'>XML</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span>
1294
- <span class='kw'>if</span> <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>AccessControlList</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
1295
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:success</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
1296
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:object_name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id filename'>filename</span>
1297
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:acl</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>AccessControlList</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
1298
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:raw</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Crack</span><span class='op'>::</span><span class='const'>XML</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span>
1299
- <span class='id resp_obj'>resp_obj</span><span class='period'>.</span><span class='id each_key'>each_key</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id key'>key</span><span class='op'>|</span> <span class='id resp_obj'>resp_obj</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='id key'>key</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:success</span> <span class='op'>||</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:object_name</span> <span class='op'>||</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:acl</span> <span class='op'>||</span> <span class='id key'>key</span> <span class='op'>==</span> <span class='symbol'>:raw</span> <span class='rbrace'>}</span>
1300
- <span class='kw'>end</span>
1301
- <span class='kw'>return</span> <span class='id resp_obj'>resp_obj</span>
1302
- <span class='kw'>end</span></pre>
1303
- </td>
1304
- </tr>
1305
- </table>
1306
- </div>
1307
-
1308
- <div class="method_details ">
1309
- <p class="signature " id="object_head-instance_method">
1310
-
1311
- - (<tt>Object</tt>) <strong>object_head</strong>(bucket_name, filename, options = {})
1312
-
1313
-
1314
-
1315
- </p><div class="docstring">
1316
- <div class="discussion">
1317
- <p>
1318
- <b>Returns the metadata of an Object stored</b>
1319
- </p>
1320
- <p>
1321
- Google Ref: <a
1322
- href="http://code.google.com/apis/storage/docs/reference-methods.html#headobject">code.google.com/apis/storage/docs/reference-methods.html#headobject</a>
1323
- </p>
1324
- <p>
1325
- Example:
1326
- </p>
1327
- <pre class="code">
1328
- <span class='id client'>client</span><span class='period'>.</span><span class='id object_head'>object_head</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>bucket_name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>file.jpg</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span></pre>
1329
-
1330
-
1331
- </div>
1332
- </div>
1333
- <div class="tags">
1334
-
1335
- </div><table class="source_code">
1336
- <tr>
1337
- <td>
1338
- <pre class="lines">
1339
-
1340
-
1341
- 147
1342
- 148
1343
- 149
1344
- 150
1345
- 151
1346
- 152
1347
- 153
1348
- 154
1349
- 155
1350
- 156
1351
- 157
1352
- 158
1353
- 159
1354
- 160
1355
- 161</pre>
1356
- </td>
1357
- <td>
1358
- <pre class="code"><span class="info file"># File 'lib/google_storage/object.rb', line 147</span>
1359
-
1360
- <span class='kw'>def</span> <span class='id object_head'>object_head</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='id filename'>filename</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1361
- <span class='id filename'>filename</span><span class='period'>.</span><span class='id gsub!'>gsub!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^\/</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1362
- <span class='id resp'>resp</span> <span class='op'>=</span> <span class='id head'>head</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id filename'>filename</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
1363
- <span class='kw'>return</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span> <span class='kw'>unless</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id code'>code</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>200</span><span class='tstring_end'>&quot;</span></span>
1364
- <span class='id resp_obj'>resp_obj</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1365
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:success</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
1366
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:filename</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id filename'>filename</span>
1367
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:last_modified</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>last-modified</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>last-modified</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
1368
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:etag</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>etag</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>etag</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
1369
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:content_length</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>content-length</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>content-length</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
1370
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:content_type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>content-type</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>content-type</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
1371
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:cache_control</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>cache-control</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>cache-control</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
1372
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:date</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>date</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id header'>header</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>date</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
1373
- <span class='kw'>return</span> <span class='id resp_obj'>resp_obj</span>
1374
- <span class='kw'>end</span></pre>
1375
- </td>
1376
- </tr>
1377
- </table>
1378
- </div>
1379
-
1380
- <div class="method_details ">
1381
- <p class="signature " id="put_object-instance_method">
1382
-
1383
- - (<tt>Object</tt>) <strong>put_object</strong>(bucket_name, filename, options = {})
1384
-
1385
-
1386
-
1387
- <span class="aliases">Also known as:
1388
- <span class="names"><span id='upload_object-instance_method'>upload_object</span></span>
1389
- </span>
1390
-
1391
- </p><div class="docstring">
1392
- <div class="discussion">
1393
- <p>
1394
- <b>Uploads an Object to Google Storage, or updates if using the same
1395
- filename</b>
1396
- </p>
1397
- <p>
1398
- If no :x_goog_acl option is supplied, a &#8216;private&#8217; ACL is
1399
- applied by default
1400
- </p>
1401
- <p>
1402
- Google Ref: <a
1403
- href="http://code.google.com/apis/storage/docs/reference-methods.html#putobject">code.google.com/apis/storage/docs/reference-methods.html#putobject</a>
1404
- </p>
1405
- <p>
1406
- <b>Note:</b> If no content type is specified then Google defaults to using
1407
- &#8216;binary/octet-stream&#8217;
1408
- </p>
1409
- <p>
1410
- Example:
1411
- </p>
1412
- <pre class="code">
1413
- <span class='id client'>client</span><span class='period'>.</span><span class='id put_object'>put_object</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>bucket_name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>file.jpg</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='symbol'>:path_to_file</span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>C:/example/file.jpg</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
1414
- <span class='id client'>client</span><span class='period'>.</span><span class='id put_object'>put_object</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>bucket_name</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>file.jpg</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='symbol'>:data</span> <span class='op'>=&gt;</span> <span class='const'>File</span><span class='period'>.</span><span class='id read'>read</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>C:/example/file.jpg</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
1415
- </pre>
1416
- <p>
1417
- Available Options:
1418
- </p>
1419
- <pre class="code">
1420
- :x_goog_acl =&gt; 'public-read'
1421
- :content_type =&gt; 'image/jpeg' &lt;-- It's recommended to always include the content type
1422
- :path_to_file =&gt; 'path_to_file_you_want_to_upload'
1423
- :data =&gt; [binary_data]</pre>
1424
-
1425
-
1426
- </div>
1427
- </div>
1428
- <div class="tags">
1429
-
1430
- </div><table class="source_code">
1431
- <tr>
1432
- <td>
1433
- <pre class="lines">
1434
-
1435
-
1436
- 77
1437
- 78
1438
- 79
1439
- 80
1440
- 81
1441
- 82
1442
- 83
1443
- 84
1444
- 85
1445
- 86
1446
- 87
1447
- 88
1448
- 89
1449
- 90
1450
- 91
1451
- 92
1452
- 93
1453
- 94
1454
- 95
1455
- 96
1456
- 97
1457
- 98
1458
- 99
1459
- 100
1460
- 101
1461
- 102
1462
- 103
1463
- 104
1464
- 105</pre>
1465
- </td>
1466
- <td>
1467
- <pre class="code"><span class="info file"># File 'lib/google_storage/object.rb', line 77</span>
1468
-
1469
- <span class='kw'>def</span> <span class='id put_object'>put_object</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='id filename'>filename</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
1470
- <span class='id filename'>filename</span><span class='period'>.</span><span class='id gsub!'>gsub!</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^\/</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1471
- <span class='kw'>if</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:path_to_file</span><span class='rbracket'>]</span>
1472
- <span class='kw'>begin</span>
1473
- <span class='id uploaded_file'>uploaded_file</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id open'>open</span><span class='lparen'>(</span><span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:path_to_file</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1474
- <span class='kw'>if</span> <span class='id uploaded_file'>uploaded_file</span><span class='period'>.</span><span class='id respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:get_input_stream</span><span class='rparen'>)</span>
1475
- <span class='id uploaded_file'>uploaded_file</span><span class='period'>.</span><span class='id get_input_stream'>get_input_stream</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id io'>io</span><span class='op'>|</span> <span class='ivar'>@data</span> <span class='op'>=</span> <span class='id io'>io</span><span class='period'>.</span><span class='id read'>read</span> <span class='rbrace'>}</span>
1476
- <span class='kw'>else</span>
1477
- <span class='id uploaded_file'>uploaded_file</span><span class='period'>.</span><span class='id binmode'>binmode</span>
1478
- <span class='ivar'>@data</span> <span class='op'>=</span> <span class='id uploaded_file'>uploaded_file</span><span class='period'>.</span><span class='id read'>read</span>
1479
- <span class='kw'>end</span>
1480
- <span class='kw'>rescue</span> <span class='const'>Exception</span> <span class='op'>=&gt;</span> <span class='id msg'>msg</span>
1481
- <span class='kw'>return</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Error</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='id msg'>msg</span><span class='rbrace'>}</span>
1482
- <span class='kw'>end</span>
1483
- <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:data</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@data</span>
1484
- <span class='kw'>end</span>
1485
- <span class='id resp'>resp</span> <span class='op'>=</span> <span class='id put'>put</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id filename'>filename</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
1486
- <span class='id public_file'>public_file</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:x_goog_acl</span><span class='rbracket'>]</span> <span class='op'>&amp;&amp;</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:x_goog_acl</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>public</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
1487
- <span class='kw'>return</span> <span class='const'>Crack</span><span class='op'>::</span><span class='const'>XML</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='id resp'>resp</span><span class='period'>.</span><span class='id body'>body</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id resp'>resp</span><span class='period'>.</span><span class='id code'>code</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>200</span><span class='tstring_end'>&quot;</span></span>
1488
- <span class='id resp_obj'>resp_obj</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1489
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:success</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span>
1490
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:message</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Object added successfully</span><span class='tstring_end'>&quot;</span></span>
1491
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:filename</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id filename'>filename</span>
1492
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:content_type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:content_type</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='symbol'>:content_type</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>binary/octet-stream</span><span class='tstring_end'>'</span></span>
1493
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:url</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id public_file'>public_file</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>http://</span><span class='embexpr_beg'>#{</span><span class='ivar'>@host</span><span class='rbrace'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id bucket_name'>bucket_name</span><span class='rbrace'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id filename'>filename</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> \
1494
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>https://sandbox.google.com/storage/</span><span class='embexpr_beg'>#{</span><span class='id bucket_name'>bucket_name</span><span class='rbrace'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='id filename'>filename</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1495
- <span class='id resp_obj'>resp_obj</span><span class='lbracket'>[</span><span class='symbol'>:url_type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id public_file'>public_file</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>public</span><span class='tstring_end'>&quot;</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>private</span><span class='tstring_end'>&quot;</span></span>
1496
- <span class='kw'>return</span> <span class='id resp_obj'>resp_obj</span>
1497
- <span class='kw'>end</span></pre>
1498
- </td>
1499
- </tr>
1500
- </table>
1501
- </div>
1502
-
1503
- </div>
1504
-
1505
- </div>
1506
-
1507
- <div id="footer">
1508
- Generated on Fri Jul 1 12:07:25 2011 by
1509
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1510
- 0.7.2 (ruby-1.9.2).
1511
- </div>
1512
-
1513
- </body>
1514
- </html>