mir 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,211 @@
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: Mir::Disk
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 (D)</a> &raquo;
37
+ <span class='title'><span class='object_link'><a href="../Mir.html" title="Mir (module)">Mir</a></span></span>
38
+ &raquo;
39
+ <span class="title">Disk</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: Mir::Disk
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/mir/disk.rb<span class="defines">,<br />
76
+ lib/mir/disk/amazon.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="Disk/Amazon.html" title="Mir::Disk::Amazon (class)">Amazon</a></span>, <span class='object_link'><a href="Disk/IncompleteTransmission.html" title="Mir::Disk::IncompleteTransmission (class)">IncompleteTransmission</a></span>, <span class='object_link'><a href="Disk/MultiPartFile.html" title="Mir::Disk::MultiPartFile (class)">MultiPartFile</a></span>, <span class='object_link'><a href="Disk/RemoteFileNotFound.html" title="Mir::Disk::RemoteFileNotFound (class)">RemoteFileNotFound</a></span>
89
+
90
+
91
+ </p>
92
+
93
+
94
+
95
+
96
+
97
+
98
+ <h2>
99
+ Class Method Summary
100
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
101
+ </h2>
102
+
103
+ <ul class="summary">
104
+
105
+ <li class="public ">
106
+ <span class="summary_signature">
107
+
108
+ <a href="#fetch-class_method" title="fetch (class method)">+ (Mir::Disk) <strong>fetch</strong>(settings = {}) </a>
109
+
110
+
111
+
112
+ </span>
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+ <span class="summary_desc"><div class='inline'><p>
122
+ Returns a disk object from the settings specified.
123
+ </p>
124
+ </div></span>
125
+
126
+ </li>
127
+
128
+
129
+ </ul>
130
+
131
+
132
+
133
+
134
+ <div id="class_method_details" class="method_details_list">
135
+ <h2>Class Method Details</h2>
136
+
137
+
138
+ <div class="method_details first">
139
+ <p class="signature first" id="fetch-class_method">
140
+
141
+ + (<tt><span class='object_link'><a href="" title="Mir::Disk (module)">Mir::Disk</a></span></tt>) <strong>fetch</strong>(settings = {})
142
+
143
+
144
+
145
+ </p><div class="docstring">
146
+ <div class="discussion">
147
+ <p>
148
+ Returns a disk object from the settings specified
149
+ </p>
150
+
151
+
152
+ </div>
153
+ </div>
154
+ <div class="tags">
155
+ <h3>Returns:</h3>
156
+ <ul class="return">
157
+
158
+ <li>
159
+
160
+
161
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Mir::Disk (module)">Mir::Disk</a></span></tt>)</span>
162
+
163
+
164
+
165
+ </li>
166
+
167
+ </ul>
168
+
169
+ </div><table class="source_code">
170
+ <tr>
171
+ <td>
172
+ <pre class="lines">
173
+
174
+
175
+ 10
176
+ 11
177
+ 12
178
+ 13
179
+ 14
180
+ 15
181
+ 16
182
+ 17</pre>
183
+ </td>
184
+ <td>
185
+ <pre class="code"><span class="info file"># File 'lib/mir/disk.rb', line 10</span>
186
+
187
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id fetch'>fetch</span><span class='lparen'>(</span><span class='id settings'>settings</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
188
+ <span class='kw'>case</span> <span class='id settings'>settings</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span>
189
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>s3</span><span class='tstring_end'>&quot;</span></span>
190
+ <span class='const'>Mir</span><span class='op'>::</span><span class='const'>Disk</span><span class='op'>::</span><span class='const'>Amazon</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id settings'>settings</span><span class='rparen'>)</span>
191
+ <span class='kw'>else</span>
192
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id error'>error</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Could not find specified cloud provider</span><span class='tstring_end'>&quot;</span></span>
193
+ <span class='kw'>end</span>
194
+ <span class='kw'>end</span></pre>
195
+ </td>
196
+ </tr>
197
+ </table>
198
+ </div>
199
+
200
+ </div>
201
+
202
+ </div>
203
+
204
+ <div id="footer">
205
+ Generated on Fri Sep 23 18:24:38 2011 by
206
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
207
+ 0.7.2 (ruby-1.9.2).
208
+ </div>
209
+
210
+ </body>
211
+ </html>
@@ -0,0 +1,1563 @@
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: Mir::Disk::Amazon
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 (A)</a> &raquo;
37
+ <span class='title'><span class='object_link'><a href="../../Mir.html" title="Mir (module)">Mir</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Disk.html" title="Mir::Disk (module)">Disk</a></span></span>
38
+ &raquo;
39
+ <span class="title">Amazon</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: Mir::Disk::Amazon
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">Mir::Disk::Amazon</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/mir/disk/amazon.rb</dd>
91
+
92
+ </dl>
93
+ <div class="clear"></div>
94
+
95
+
96
+ <h2>Constant Summary</h2>
97
+
98
+ <dl class="constants">
99
+
100
+ <dt id="DEFAULT_CHUNK_SIZE-constant" class="">DEFAULT_CHUNK_SIZE =
101
+ <div class="docstring">
102
+ <div class="discussion">
103
+ <p>
104
+ This is the default size in bytes at which files will be split and stored
105
+ on S3. From trial and error, 5MB seems to be a good default size for
106
+ chunking large files.
107
+ </p>
108
+
109
+
110
+ </div>
111
+ </div>
112
+ <div class="tags">
113
+
114
+ </div>
115
+ </dt>
116
+ <dd><pre class="code"><span class='int'>5</span><span class='op'>*</span><span class='lparen'>(</span><span class='int'>2</span><span class='op'>**</span><span class='int'>20</span><span class='rparen'>)</span></pre></dd>
117
+
118
+ </dl>
119
+
120
+
121
+
122
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
123
+ <ul class="summary">
124
+
125
+ <li class="public ">
126
+ <span class="summary_signature">
127
+
128
+ <a href="#bucket_name-instance_method" title="#bucket_name (instance method)">- (Object) <strong>bucket_name</strong> </a>
129
+
130
+
131
+
132
+ </span>
133
+
134
+
135
+ <span class="note title readonly">readonly</span>
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+ <span class="summary_desc"><div class='inline'><p>
145
+ Returns the value of attribute bucket_name.
146
+ </p>
147
+ </div></span>
148
+
149
+ </li>
150
+
151
+
152
+ <li class="public ">
153
+ <span class="summary_signature">
154
+
155
+ <a href="#connection-instance_method" title="#connection (instance method)">- (Object) <strong>connection</strong> </a>
156
+
157
+
158
+
159
+ </span>
160
+
161
+
162
+ <span class="note title readonly">readonly</span>
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+ <span class="summary_desc"><div class='inline'><p>
172
+ Returns the value of attribute connection.
173
+ </p>
174
+ </div></span>
175
+
176
+ </li>
177
+
178
+
179
+ </ul>
180
+
181
+
182
+
183
+
184
+
185
+ <h2>
186
+ Class Method Summary
187
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
188
+ </h2>
189
+
190
+ <ul class="summary">
191
+
192
+ <li class="public ">
193
+ <span class="summary_signature">
194
+
195
+ <a href="#s3_key-class_method" title="s3_key (class method)">+ (String) <strong>s3_key</strong>(path) </a>
196
+
197
+
198
+
199
+ </span>
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+ <span class="summary_desc"><div class='inline'><p>
209
+ Converts a path name to a key that can be stored on s3.
210
+ </p>
211
+ </div></span>
212
+
213
+ </li>
214
+
215
+
216
+ </ul>
217
+
218
+ <h2>
219
+ Instance Method Summary
220
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
221
+ </h2>
222
+
223
+ <ul class="summary">
224
+
225
+ <li class="public ">
226
+ <span class="summary_signature">
227
+
228
+ <a href="#chunk_size-instance_method" title="#chunk_size (instance method)">- (Integer) <strong>chunk_size</strong> </a>
229
+
230
+
231
+
232
+ </span>
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+ <span class="summary_desc"><div class='inline'><p>
242
+ The size in bytes of each chunk.
243
+ </p>
244
+ </div></span>
245
+
246
+ </li>
247
+
248
+
249
+ <li class="public ">
250
+ <span class="summary_signature">
251
+
252
+ <a href="#chunk_size%3D-instance_method" title="#chunk_size= (instance method)">- (void) <strong>chunk_size=</strong>(n) </a>
253
+
254
+
255
+
256
+ </span>
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+ <span class="summary_desc"><div class='inline'><p>
266
+ Sets the maximum number of bytes to be used per chunk sent to S3.
267
+ </p>
268
+ </div></span>
269
+
270
+ </li>
271
+
272
+
273
+ <li class="public ">
274
+ <span class="summary_signature">
275
+
276
+ <a href="#collections-instance_method" title="#collections (instance method)">- (Hash) <strong>collections</strong> </a>
277
+
278
+
279
+
280
+ </span>
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+ <span class="summary_desc"><div class='inline'><p>
290
+ Returns the buckets available from S3.
291
+ </p>
292
+ </div></span>
293
+
294
+ </li>
295
+
296
+
297
+ <li class="public ">
298
+ <span class="summary_signature">
299
+
300
+ <a href="#connected%3F-instance_method" title="#connected? (instance method)">- (Boolean) <strong>connected?</strong> </a>
301
+
302
+
303
+
304
+ </span>
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+ <span class="summary_desc"><div class='inline'><p>
314
+ Whether a connection to S3 has been established.
315
+ </p>
316
+ </div></span>
317
+
318
+ </li>
319
+
320
+
321
+ <li class="public ">
322
+ <span class="summary_signature">
323
+
324
+ <a href="#copy-instance_method" title="#copy (instance method)">- (void) <strong>copy</strong>(from, dest) </a>
325
+
326
+
327
+
328
+ </span>
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+ <span class="summary_desc"><div class='inline'><p>
338
+ Copies the remote resource to the local filesystem.
339
+ </p>
340
+ </div></span>
341
+
342
+ </li>
343
+
344
+
345
+ <li class="public ">
346
+ <span class="summary_signature">
347
+
348
+ <a href="#delete-instance_method" title="#delete (instance method)">- (Boolean) <strong>delete</strong>(file_path) </a>
349
+
350
+
351
+
352
+ </span>
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+ <span class="summary_desc"><div class='inline'><p>
362
+ Deletes the remote version of the file.
363
+ </p>
364
+ </div></span>
365
+
366
+ </li>
367
+
368
+
369
+ <li class="public ">
370
+ <span class="summary_signature">
371
+
372
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Amazon) <strong>initialize</strong>(settings = {}) </a>
373
+
374
+
375
+
376
+ </span>
377
+
378
+ <span class="note title constructor">constructor</span>
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+ <span class="summary_desc"><div class='inline'><p>
388
+ Attempts to create a new connection to Amazon S3.
389
+ </p>
390
+ </div></span>
391
+
392
+ </li>
393
+
394
+
395
+ <li class="public ">
396
+ <span class="summary_signature">
397
+
398
+ <a href="#key_exists%3F-instance_method" title="#key_exists? (instance method)">- (Boolean) <strong>key_exists?</strong>(key) </a>
399
+
400
+
401
+
402
+ </span>
403
+
404
+
405
+
406
+
407
+
408
+
409
+
410
+
411
+ <span class="summary_desc"><div class='inline'><p>
412
+ Whether the key exists in S3.
413
+ </p>
414
+ </div></span>
415
+
416
+ </li>
417
+
418
+
419
+ <li class="public ">
420
+ <span class="summary_signature">
421
+
422
+ <a href="#read-instance_method" title="#read (instance method)">- (String) <strong>read</strong>(key) </a>
423
+
424
+
425
+
426
+ </span>
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+ <span class="summary_desc"><div class='inline'><p>
436
+ Retrieves the complete object from S3.
437
+ </p>
438
+ </div></span>
439
+
440
+ </li>
441
+
442
+
443
+ <li class="public ">
444
+ <span class="summary_signature">
445
+
446
+ <a href="#volume-instance_method" title="#volume (instance method)">- (RightAws::S3::Bucket) <strong>volume</strong> </a>
447
+
448
+
449
+
450
+ </span>
451
+
452
+
453
+
454
+
455
+
456
+
457
+
458
+
459
+ <span class="summary_desc"><div class='inline'><p>
460
+ Retrieves the bucket from S3.
461
+ </p>
462
+ </div></span>
463
+
464
+ </li>
465
+
466
+
467
+ <li class="public ">
468
+ <span class="summary_signature">
469
+
470
+ <a href="#write-instance_method" title="#write (instance method)">- (void) <strong>write</strong>(file_path) </a>
471
+
472
+
473
+
474
+ </span>
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+ <span class="summary_desc"><div class='inline'><p>
484
+ Writes a file to Amazon S3.
485
+ </p>
486
+ </div></span>
487
+
488
+ </li>
489
+
490
+
491
+ </ul>
492
+
493
+
494
+ <div id="constructor_details" class="method_details_list">
495
+ <h2>Constructor Details</h2>
496
+
497
+ <div class="method_details first">
498
+ <p class="signature first" id="initialize-instance_method">
499
+
500
+ - (<tt><span class='object_link'><a href="" title="Mir::Disk::Amazon (class)">Amazon</a></span></tt>) <strong>initialize</strong>(settings = {})
501
+
502
+
503
+
504
+ </p><div class="docstring">
505
+ <div class="discussion">
506
+ <p>
507
+ Attempts to create a new connection to Amazon S3
508
+ </p>
509
+
510
+
511
+ </div>
512
+ </div>
513
+ <div class="tags">
514
+ <h3>Parameters:</h3>
515
+ <ul class="param">
516
+
517
+ <li>
518
+
519
+ <span class='name'>settings</span>
520
+
521
+
522
+ <span class='type'>(<tt>Hash</tt>)</span>
523
+
524
+
525
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
526
+
527
+
528
+ &mdash;
529
+ <div class='inline'><p>
530
+ a customizable set of options
531
+ </p>
532
+ </div>
533
+
534
+ </li>
535
+
536
+ </ul>
537
+
538
+
539
+
540
+
541
+ <h3>Options Hash (<tt>settings</tt>):</h3>
542
+ <ul class="option">
543
+
544
+ <li>
545
+ <span class="name">:bucket_name</span>
546
+ <span class="type">(<tt>Symbol</tt>)</span>
547
+ <span class="default">
548
+
549
+ </span>
550
+ &mdash; <div class='inline'><p>
551
+ The name of the remote bucket
552
+ </p>
553
+ </div>
554
+ </tr>
555
+
556
+ <li>
557
+ <span class="name">:access_key_id</span>
558
+ <span class="type">(<tt>Symbol</tt>)</span>
559
+ <span class="default">
560
+
561
+ </span>
562
+ &mdash; <div class='inline'><p>
563
+ The access key id for the amazon account
564
+ </p>
565
+ </div>
566
+ </tr>
567
+
568
+ <li>
569
+ <span class="name">:secret_access_key</span>
570
+ <span class="type">(<tt>Symbol</tt>)</span>
571
+ <span class="default">
572
+
573
+ </span>
574
+ &mdash; <div class='inline'><p>
575
+ The secret access key for the amazon account
576
+ </p>
577
+ </div>
578
+ </tr>
579
+
580
+ <li>
581
+ <span class="name">:chunk_size</span>
582
+ <span class="type">(<tt>Symbol</tt>)</span>
583
+ <span class="default">
584
+
585
+ </span>
586
+ &mdash; <div class='inline'><p>
587
+ The maximum number of bytes to use for each chunk of a file sent to S3
588
+ </p>
589
+ </div>
590
+ </tr>
591
+
592
+ </ul>
593
+
594
+
595
+ </div><table class="source_code">
596
+ <tr>
597
+ <td>
598
+ <pre class="lines">
599
+
600
+
601
+ 35
602
+ 36
603
+ 37
604
+ 38
605
+ 39
606
+ 40
607
+ 41</pre>
608
+ </td>
609
+ <td>
610
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 35</span>
611
+
612
+ <span class='kw'>def</span> <span class='id initialize'>initialize</span><span class='lparen'>(</span><span class='id settings'>settings</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
613
+ <span class='ivar'>@bucket_name</span> <span class='op'>=</span> <span class='id settings'>settings</span><span class='lbracket'>[</span><span class='symbol'>:bucket_name</span><span class='rbracket'>]</span>
614
+ <span class='ivar'>@access_key_id</span> <span class='op'>=</span> <span class='id settings'>settings</span><span class='lbracket'>[</span><span class='symbol'>:access_key_id</span><span class='rbracket'>]</span>
615
+ <span class='ivar'>@secret_access_key</span> <span class='op'>=</span> <span class='id settings'>settings</span><span class='lbracket'>[</span><span class='symbol'>:secret_access_key</span><span class='rbracket'>]</span>
616
+ <span class='ivar'>@chunk_size</span> <span class='op'>=</span> <span class='id settings'>settings</span><span class='lbracket'>[</span><span class='symbol'>:chunk_size</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='const'>DEFAULT_CHUNK_SIZE</span>
617
+ <span class='ivar'>@connection</span> <span class='op'>=</span> <span class='id try_connect'>try_connect</span>
618
+ <span class='kw'>end</span></pre>
619
+ </td>
620
+ </tr>
621
+ </table>
622
+ </div>
623
+
624
+ </div>
625
+
626
+ <div id="instance_attr_details" class="attr_details">
627
+ <h2>Instance Attribute Details</h2>
628
+
629
+
630
+ <span id=""></span>
631
+ <span id="bucket_name-instance_method"></span>
632
+ <div class="method_details first">
633
+ <p class="signature first" id="bucket_name-instance_method">
634
+
635
+ - (<tt>Object</tt>) <strong>bucket_name</strong> <span class="extras">(readonly)</span>
636
+
637
+
638
+
639
+ </p><div class="docstring">
640
+ <div class="discussion">
641
+ <p>
642
+ Returns the value of attribute bucket_name
643
+ </p>
644
+
645
+
646
+ </div>
647
+ </div>
648
+ <div class="tags">
649
+
650
+ </div><table class="source_code">
651
+ <tr>
652
+ <td>
653
+ <pre class="lines">
654
+
655
+
656
+ 14
657
+ 15
658
+ 16</pre>
659
+ </td>
660
+ <td>
661
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 14</span>
662
+
663
+ <span class='kw'>def</span> <span class='id bucket_name'>bucket_name</span>
664
+ <span class='ivar'>@bucket_name</span>
665
+ <span class='kw'>end</span></pre>
666
+ </td>
667
+ </tr>
668
+ </table>
669
+ </div>
670
+
671
+
672
+ <span id=""></span>
673
+ <span id="connection-instance_method"></span>
674
+ <div class="method_details ">
675
+ <p class="signature " id="connection-instance_method">
676
+
677
+ - (<tt>Object</tt>) <strong>connection</strong> <span class="extras">(readonly)</span>
678
+
679
+
680
+
681
+ </p><div class="docstring">
682
+ <div class="discussion">
683
+ <p>
684
+ Returns the value of attribute connection
685
+ </p>
686
+
687
+
688
+ </div>
689
+ </div>
690
+ <div class="tags">
691
+
692
+ </div><table class="source_code">
693
+ <tr>
694
+ <td>
695
+ <pre class="lines">
696
+
697
+
698
+ 14
699
+ 15
700
+ 16</pre>
701
+ </td>
702
+ <td>
703
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 14</span>
704
+
705
+ <span class='kw'>def</span> <span class='id connection'>connection</span>
706
+ <span class='ivar'>@connection</span>
707
+ <span class='kw'>end</span></pre>
708
+ </td>
709
+ </tr>
710
+ </table>
711
+ </div>
712
+
713
+ </div>
714
+
715
+
716
+ <div id="class_method_details" class="method_details_list">
717
+ <h2>Class Method Details</h2>
718
+
719
+
720
+ <div class="method_details first">
721
+ <p class="signature first" id="s3_key-class_method">
722
+
723
+ + (<tt>String</tt>) <strong>s3_key</strong>(path)
724
+
725
+
726
+
727
+ </p><div class="docstring">
728
+ <div class="discussion">
729
+ <p>
730
+ Converts a path name to a key that can be stored on s3
731
+ </p>
732
+
733
+
734
+ </div>
735
+ </div>
736
+ <div class="tags">
737
+ <h3>Parameters:</h3>
738
+ <ul class="param">
739
+
740
+ <li>
741
+
742
+ <span class='name'>path</span>
743
+
744
+
745
+ <span class='type'>(<tt>String</tt>)</span>
746
+
747
+
748
+
749
+ &mdash;
750
+ <div class='inline'><p>
751
+ the path to the file
752
+ </p>
753
+ </div>
754
+
755
+ </li>
756
+
757
+ </ul>
758
+ <h3>Returns:</h3>
759
+ <ul class="return">
760
+
761
+ <li>
762
+
763
+
764
+ <span class='type'>(<tt>String</tt>)</span>
765
+
766
+
767
+
768
+ </li>
769
+
770
+ </ul>
771
+
772
+ </div><table class="source_code">
773
+ <tr>
774
+ <td>
775
+ <pre class="lines">
776
+
777
+
778
+ 20
779
+ 21
780
+ 22
781
+ 23
782
+ 24
783
+ 25
784
+ 26</pre>
785
+ </td>
786
+ <td>
787
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 20</span>
788
+
789
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id s3_key'>s3_key</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span>
790
+ <span class='kw'>if</span> <span class='id path'>path</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='const'>File</span><span class='op'>::</span><span class='const'>SEPARATOR</span>
791
+ <span class='id path'>path</span><span class='lbracket'>[</span><span class='int'>1</span><span class='op'>..</span><span class='op'>-</span><span class='int'>1</span><span class='rbracket'>]</span>
792
+ <span class='kw'>else</span>
793
+ <span class='id path'>path</span>
794
+ <span class='kw'>end</span>
795
+ <span class='kw'>end</span></pre>
796
+ </td>
797
+ </tr>
798
+ </table>
799
+ </div>
800
+
801
+ </div>
802
+
803
+ <div id="instance_method_details" class="method_details_list">
804
+ <h2>Instance Method Details</h2>
805
+
806
+
807
+ <div class="method_details first">
808
+ <p class="signature first" id="chunk_size-instance_method">
809
+
810
+ - (<tt>Integer</tt>) <strong>chunk_size</strong>
811
+
812
+
813
+
814
+ </p><div class="docstring">
815
+ <div class="discussion">
816
+ <p>
817
+ The size in bytes of each chunk
818
+ </p>
819
+
820
+
821
+ </div>
822
+ </div>
823
+ <div class="tags">
824
+ <h3>Returns:</h3>
825
+ <ul class="return">
826
+
827
+ <li>
828
+
829
+
830
+ <span class='type'>(<tt>Integer</tt>)</span>
831
+
832
+
833
+
834
+ </li>
835
+
836
+ </ul>
837
+
838
+ </div><table class="source_code">
839
+ <tr>
840
+ <td>
841
+ <pre class="lines">
842
+
843
+
844
+ 59
845
+ 60
846
+ 61</pre>
847
+ </td>
848
+ <td>
849
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 59</span>
850
+
851
+ <span class='kw'>def</span> <span class='id chunk_size'>chunk_size</span>
852
+ <span class='ivar'>@chunk_size</span>
853
+ <span class='kw'>end</span></pre>
854
+ </td>
855
+ </tr>
856
+ </table>
857
+ </div>
858
+
859
+ <div class="method_details ">
860
+ <p class="signature " id="chunk_size=-instance_method">
861
+
862
+ - (<tt>void</tt>) <strong>chunk_size=</strong>(n)
863
+
864
+
865
+
866
+ </p><div class="docstring">
867
+ <div class="discussion">
868
+ <p class="note returns_void">This method returns an undefined value.</p><p>
869
+ Sets the maximum number of bytes to be used per chunk sent to S3
870
+ </p>
871
+
872
+
873
+ </div>
874
+ </div>
875
+ <div class="tags">
876
+ <h3>Parameters:</h3>
877
+ <ul class="param">
878
+
879
+ <li>
880
+
881
+ <span class='name'>n</span>
882
+
883
+
884
+ <span class='type'>(<tt>Integer</tt>)</span>
885
+
886
+
887
+
888
+ &mdash;
889
+ <div class='inline'><p>
890
+ Number of bytes
891
+ </p>
892
+ </div>
893
+
894
+ </li>
895
+
896
+ </ul>
897
+ <h3>Raises:</h3>
898
+ <ul class="raise">
899
+
900
+ <li>
901
+
902
+
903
+ <span class='type'>(<tt>ArgumentError</tt>)</span>
904
+
905
+
906
+
907
+ </li>
908
+
909
+ </ul>
910
+
911
+ </div><table class="source_code">
912
+ <tr>
913
+ <td>
914
+ <pre class="lines">
915
+
916
+
917
+ 52
918
+ 53
919
+ 54
920
+ 55</pre>
921
+ </td>
922
+ <td>
923
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 52</span>
924
+
925
+ <span class='kw'>def</span> <span class='id chunk_size='>chunk_size=</span><span class='lparen'>(</span><span class='id n'>n</span><span class='rparen'>)</span>
926
+ <span class='id raise'>raise</span> <span class='const'>ArgumentError</span> <span class='kw'>unless</span> <span class='id n'>n</span> <span class='op'>&gt;</span> <span class='int'>0</span>
927
+ <span class='ivar'>@chunk_size</span> <span class='op'>=</span> <span class='id n'>n</span>
928
+ <span class='kw'>end</span></pre>
929
+ </td>
930
+ </tr>
931
+ </table>
932
+ </div>
933
+
934
+ <div class="method_details ">
935
+ <p class="signature " id="collections-instance_method">
936
+
937
+ - (<tt>Hash</tt>) <strong>collections</strong>
938
+
939
+
940
+
941
+ </p><div class="docstring">
942
+ <div class="discussion">
943
+ <p>
944
+ Returns the buckets available from S3
945
+ </p>
946
+
947
+
948
+ </div>
949
+ </div>
950
+ <div class="tags">
951
+ <h3>Returns:</h3>
952
+ <ul class="return">
953
+
954
+ <li>
955
+
956
+
957
+ <span class='type'>(<tt>Hash</tt>)</span>
958
+
959
+
960
+
961
+ </li>
962
+
963
+ </ul>
964
+
965
+ </div><table class="source_code">
966
+ <tr>
967
+ <td>
968
+ <pre class="lines">
969
+
970
+
971
+ 45
972
+ 46
973
+ 47</pre>
974
+ </td>
975
+ <td>
976
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 45</span>
977
+
978
+ <span class='kw'>def</span> <span class='id collections'>collections</span>
979
+ <span class='ivar'>@connection</span><span class='period'>.</span><span class='id list_bucket'>list_bucket</span><span class='period'>.</span><span class='id select'>select</span><span class='lparen'>(</span><span class='symbol'>:key</span><span class='rparen'>)</span>
980
+ <span class='kw'>end</span></pre>
981
+ </td>
982
+ </tr>
983
+ </table>
984
+ </div>
985
+
986
+ <div class="method_details ">
987
+ <p class="signature " id="connected?-instance_method">
988
+
989
+ - (<tt>Boolean</tt>) <strong>connected?</strong>
990
+
991
+
992
+
993
+ </p><div class="docstring">
994
+ <div class="discussion">
995
+ <p>
996
+ Whether a connection to S3 has been established
997
+ </p>
998
+
999
+
1000
+ </div>
1001
+ </div>
1002
+ <div class="tags">
1003
+ <h3>Returns:</h3>
1004
+ <ul class="return">
1005
+
1006
+ <li>
1007
+
1008
+
1009
+ <span class='type'>(<tt>Boolean</tt>)</span>
1010
+
1011
+
1012
+
1013
+ </li>
1014
+
1015
+ </ul>
1016
+
1017
+ </div><table class="source_code">
1018
+ <tr>
1019
+ <td>
1020
+ <pre class="lines">
1021
+
1022
+
1023
+ 100
1024
+ 101
1025
+ 102</pre>
1026
+ </td>
1027
+ <td>
1028
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 100</span>
1029
+
1030
+ <span class='kw'>def</span> <span class='id connected?'>connected?</span>
1031
+ <span class='ivar'>@connection_success</span>
1032
+ <span class='kw'>end</span></pre>
1033
+ </td>
1034
+ </tr>
1035
+ </table>
1036
+ </div>
1037
+
1038
+ <div class="method_details ">
1039
+ <p class="signature " id="copy-instance_method">
1040
+
1041
+ - (<tt>void</tt>) <strong>copy</strong>(from, dest)
1042
+
1043
+
1044
+
1045
+ </p><div class="docstring">
1046
+ <div class="discussion">
1047
+ <p class="note returns_void">This method returns an undefined value.</p><p>
1048
+ Copies the remote resource to the local filesystem
1049
+ </p>
1050
+
1051
+
1052
+ </div>
1053
+ </div>
1054
+ <div class="tags">
1055
+ <h3>Parameters:</h3>
1056
+ <ul class="param">
1057
+
1058
+ <li>
1059
+
1060
+ <span class='name'>from</span>
1061
+
1062
+
1063
+ <span class='type'>(<tt>String</tt>)</span>
1064
+
1065
+
1066
+
1067
+ &mdash;
1068
+ <div class='inline'><p>
1069
+ the remote name of the resource to copy
1070
+ </p>
1071
+ </div>
1072
+
1073
+ </li>
1074
+
1075
+ <li>
1076
+
1077
+ <span class='name'>dest</span>
1078
+
1079
+
1080
+ <span class='type'>(<tt>String</tt>)</span>
1081
+
1082
+
1083
+
1084
+ &mdash;
1085
+ <div class='inline'><p>
1086
+ the local name of the destination
1087
+ </p>
1088
+ </div>
1089
+
1090
+ </li>
1091
+
1092
+ </ul>
1093
+
1094
+ </div><table class="source_code">
1095
+ <tr>
1096
+ <td>
1097
+ <pre class="lines">
1098
+
1099
+
1100
+ 81
1101
+ 82
1102
+ 83
1103
+ 84
1104
+ 85
1105
+ 86
1106
+ 87</pre>
1107
+ </td>
1108
+ <td>
1109
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 81</span>
1110
+
1111
+ <span class='kw'>def</span> <span class='id copy'>copy</span><span class='lparen'>(</span><span class='id from'>from</span><span class='comma'>,</span> <span class='id dest'>dest</span><span class='rparen'>)</span>
1112
+ <span class='id open'>open</span><span class='lparen'>(</span><span class='id dest'>dest</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>w</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id file'>file</span><span class='op'>|</span>
1113
+ <span class='id key'>key</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id class'>class</span><span class='period'>.</span><span class='id s3_key'>s3_key</span><span class='lparen'>(</span><span class='id from'>from</span><span class='rparen'>)</span>
1114
+ <span class='id remote_file'>remote_file</span> <span class='op'>=</span> <span class='const'>MultiPartFile</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='id key'>key</span><span class='rparen'>)</span>
1115
+ <span class='id remote_file'>remote_file</span><span class='period'>.</span><span class='id get'>get</span><span class='lparen'>(</span><span class='id dest'>dest</span><span class='rparen'>)</span>
1116
+ <span class='kw'>end</span>
1117
+ <span class='kw'>end</span></pre>
1118
+ </td>
1119
+ </tr>
1120
+ </table>
1121
+ </div>
1122
+
1123
+ <div class="method_details ">
1124
+ <p class="signature " id="delete-instance_method">
1125
+
1126
+ - (<tt>Boolean</tt>) <strong>delete</strong>(file_path)
1127
+
1128
+
1129
+
1130
+ </p><div class="docstring">
1131
+ <div class="discussion">
1132
+ <p>
1133
+ Deletes the remote version of the file
1134
+ </p>
1135
+
1136
+
1137
+ </div>
1138
+ </div>
1139
+ <div class="tags">
1140
+ <h3>Returns:</h3>
1141
+ <ul class="return">
1142
+
1143
+ <li>
1144
+
1145
+
1146
+ <span class='type'>(<tt>Boolean</tt>)</span>
1147
+
1148
+
1149
+
1150
+ &mdash;
1151
+ <div class='inline'><p>
1152
+ true if operation succeeded
1153
+ </p>
1154
+ </div>
1155
+
1156
+ </li>
1157
+
1158
+ </ul>
1159
+
1160
+ </div><table class="source_code">
1161
+ <tr>
1162
+ <td>
1163
+ <pre class="lines">
1164
+
1165
+
1166
+ 112
1167
+ 113
1168
+ 114
1169
+ 115
1170
+ 116
1171
+ 117
1172
+ 118
1173
+ 119
1174
+ 120
1175
+ 121
1176
+ 122
1177
+ 123
1178
+ 124
1179
+ 125
1180
+ 126
1181
+ 127
1182
+ 128</pre>
1183
+ </td>
1184
+ <td>
1185
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 112</span>
1186
+
1187
+ <span class='kw'>def</span> <span class='id delete'>delete</span><span class='lparen'>(</span><span class='id file_path'>file_path</span><span class='rparen'>)</span>
1188
+ <span class='id key'>key</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id class'>class</span><span class='period'>.</span><span class='id s3_key'>s3_key</span><span class='lparen'>(</span><span class='id file_path'>file_path</span><span class='rparen'>)</span>
1189
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Deleting remote object </span><span class='embexpr_beg'>#{</span><span class='id file_path'>file_path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1190
+
1191
+ <span class='kw'>begin</span>
1192
+ <span class='id remote_file'>remote_file</span> <span class='op'>=</span> <span class='const'>MultiPartFile</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='id key'>key</span><span class='rparen'>)</span>
1193
+ <span class='kw'>rescue</span> <span class='const'>Disk</span><span class='op'>::</span><span class='const'>RemoteFileNotFound</span> <span class='op'>=&gt;</span> <span class='id e'>e</span>
1194
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id warn'>warn</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Could not find remote resource '</span><span class='embexpr_beg'>#{</span><span class='id key'>key</span><span class='rbrace'>}</span><span class='tstring_content'>'</span><span class='tstring_end'>&quot;</span></span>
1195
+ <span class='kw'>return</span> <span class='kw'>false</span>
1196
+ <span class='kw'>end</span>
1197
+
1198
+ <span class='kw'>if</span> <span class='id remote_file'>remote_file</span><span class='period'>.</span><span class='id multipart?'>multipart?</span>
1199
+ <span class='id delete_parts'>delete_parts</span><span class='lparen'>(</span><span class='id key'>key</span><span class='rparen'>)</span>
1200
+ <span class='kw'>else</span>
1201
+ <span class='id connection'>connection</span><span class='period'>.</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='id key'>key</span><span class='rparen'>)</span>
1202
+ <span class='kw'>end</span>
1203
+ <span class='kw'>end</span></pre>
1204
+ </td>
1205
+ </tr>
1206
+ </table>
1207
+ </div>
1208
+
1209
+ <div class="method_details ">
1210
+ <p class="signature " id="key_exists?-instance_method">
1211
+
1212
+ - (<tt>Boolean</tt>) <strong>key_exists?</strong>(key)
1213
+
1214
+
1215
+
1216
+ </p><div class="docstring">
1217
+ <div class="discussion">
1218
+ <p>
1219
+ Whether the key exists in S3
1220
+ </p>
1221
+
1222
+
1223
+ </div>
1224
+ </div>
1225
+ <div class="tags">
1226
+ <h3>Parameters:</h3>
1227
+ <ul class="param">
1228
+
1229
+ <li>
1230
+
1231
+ <span class='name'>key</span>
1232
+
1233
+
1234
+ <span class='type'>(<tt>String</tt>)</span>
1235
+
1236
+
1237
+
1238
+ &mdash;
1239
+ <div class='inline'><p>
1240
+ the S3 key name
1241
+ </p>
1242
+ </div>
1243
+
1244
+ </li>
1245
+
1246
+ </ul>
1247
+ <h3>Returns:</h3>
1248
+ <ul class="return">
1249
+
1250
+ <li>
1251
+
1252
+
1253
+ <span class='type'>(<tt>Boolean</tt>)</span>
1254
+
1255
+
1256
+
1257
+ </li>
1258
+
1259
+ </ul>
1260
+
1261
+ </div><table class="source_code">
1262
+ <tr>
1263
+ <td>
1264
+ <pre class="lines">
1265
+
1266
+
1267
+ 67
1268
+ 68
1269
+ 69
1270
+ 70
1271
+ 71
1272
+ 72
1273
+ 73
1274
+ 74
1275
+ 75</pre>
1276
+ </td>
1277
+ <td>
1278
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 67</span>
1279
+
1280
+ <span class='kw'>def</span> <span class='id key_exists?'>key_exists?</span><span class='lparen'>(</span><span class='id key'>key</span><span class='rparen'>)</span>
1281
+ <span class='kw'>begin</span>
1282
+ <span class='id connection'>connection</span><span class='period'>.</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='id key'>key</span><span class='rparen'>)</span>
1283
+ <span class='kw'>rescue</span> <span class='const'>RightAws</span><span class='op'>::</span><span class='const'>AwsError</span> <span class='op'>=&gt;</span> <span class='id e'>e</span>
1284
+ <span class='kw'>return</span> <span class='kw'>false</span>
1285
+ <span class='kw'>end</span>
1286
+
1287
+ <span class='kw'>true</span>
1288
+ <span class='kw'>end</span></pre>
1289
+ </td>
1290
+ </tr>
1291
+ </table>
1292
+ </div>
1293
+
1294
+ <div class="method_details ">
1295
+ <p class="signature " id="read-instance_method">
1296
+
1297
+ - (<tt>String</tt>) <strong>read</strong>(key)
1298
+
1299
+
1300
+
1301
+ </p><div class="docstring">
1302
+ <div class="discussion">
1303
+ <p>
1304
+ Retrieves the complete object from S3. Note this method will not stream the
1305
+ object and will return the value of the object stored on S3
1306
+ </p>
1307
+
1308
+
1309
+ </div>
1310
+ </div>
1311
+ <div class="tags">
1312
+ <h3>Parameters:</h3>
1313
+ <ul class="param">
1314
+
1315
+ <li>
1316
+
1317
+ <span class='name'>key</span>
1318
+
1319
+
1320
+ <span class='type'>(<tt>String</tt>)</span>
1321
+
1322
+
1323
+
1324
+ &mdash;
1325
+ <div class='inline'><p>
1326
+ the S3 key name of the object
1327
+ </p>
1328
+ </div>
1329
+
1330
+ </li>
1331
+
1332
+ </ul>
1333
+ <h3>Returns:</h3>
1334
+ <ul class="return">
1335
+
1336
+ <li>
1337
+
1338
+
1339
+ <span class='type'>(<tt>String</tt>)</span>
1340
+
1341
+
1342
+
1343
+ </li>
1344
+
1345
+ </ul>
1346
+
1347
+ </div><table class="source_code">
1348
+ <tr>
1349
+ <td>
1350
+ <pre class="lines">
1351
+
1352
+
1353
+ 94
1354
+ 95
1355
+ 96</pre>
1356
+ </td>
1357
+ <td>
1358
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 94</span>
1359
+
1360
+ <span class='kw'>def</span> <span class='id read'>read</span><span class='lparen'>(</span><span class='id key'>key</span><span class='rparen'>)</span>
1361
+ <span class='id connection'>connection</span><span class='period'>.</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 key'>key</span><span class='rparen'>)</span>
1362
+ <span class='kw'>end</span></pre>
1363
+ </td>
1364
+ </tr>
1365
+ </table>
1366
+ </div>
1367
+
1368
+ <div class="method_details ">
1369
+ <p class="signature " id="volume-instance_method">
1370
+
1371
+ - (<tt>RightAws::S3::Bucket</tt>) <strong>volume</strong>
1372
+
1373
+
1374
+
1375
+ </p><div class="docstring">
1376
+ <div class="discussion">
1377
+ <p>
1378
+ Retrieves the bucket from S3
1379
+ </p>
1380
+
1381
+
1382
+ </div>
1383
+ </div>
1384
+ <div class="tags">
1385
+ <h3>Returns:</h3>
1386
+ <ul class="return">
1387
+
1388
+ <li>
1389
+
1390
+
1391
+ <span class='type'>(<tt>RightAws::S3::Bucket</tt>)</span>
1392
+
1393
+
1394
+
1395
+ </li>
1396
+
1397
+ </ul>
1398
+
1399
+ </div><table class="source_code">
1400
+ <tr>
1401
+ <td>
1402
+ <pre class="lines">
1403
+
1404
+
1405
+ 106
1406
+ 107
1407
+ 108</pre>
1408
+ </td>
1409
+ <td>
1410
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 106</span>
1411
+
1412
+ <span class='kw'>def</span> <span class='id volume'>volume</span>
1413
+ <span class='id connection'>connection</span><span class='period'>.</span><span class='id bucket'>bucket</span><span class='lparen'>(</span><span class='id bucket_name'>bucket_name</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
1414
+ <span class='kw'>end</span></pre>
1415
+ </td>
1416
+ </tr>
1417
+ </table>
1418
+ </div>
1419
+
1420
+ <div class="method_details ">
1421
+ <p class="signature " id="write-instance_method">
1422
+
1423
+ - (<tt>void</tt>) <strong>write</strong>(file_path)
1424
+
1425
+
1426
+
1427
+ </p><div class="docstring">
1428
+ <div class="discussion">
1429
+ <p class="note returns_void">This method returns an undefined value.</p><p>
1430
+ Writes a file to Amazon S3. If the file size exceeds the chunk size, the
1431
+ file will be written in chunks
1432
+ </p>
1433
+
1434
+
1435
+ </div>
1436
+ </div>
1437
+ <div class="tags">
1438
+ <h3>Parameters:</h3>
1439
+ <ul class="param">
1440
+
1441
+ <li>
1442
+
1443
+ <span class='name'>the</span>
1444
+
1445
+
1446
+ <span class='type'>(<tt>String</tt>)</span>
1447
+
1448
+
1449
+
1450
+ &mdash;
1451
+ <div class='inline'><p>
1452
+ absolute path of the file to be written
1453
+ </p>
1454
+ </div>
1455
+
1456
+ </li>
1457
+
1458
+ </ul>
1459
+ <h3>Raises:</h3>
1460
+ <ul class="raise">
1461
+
1462
+ <li>
1463
+
1464
+
1465
+ <span class='type'>(<tt><span class='object_link'><a href="IncompleteTransmission.html" title="Mir::Disk::IncompleteTransmission (class)">Disk::IncompleteTransmission</a></span></tt>)</span>
1466
+
1467
+
1468
+
1469
+ &mdash;
1470
+ <div class='inline'><p>
1471
+ raised when remote resource is different from local file
1472
+ </p>
1473
+ </div>
1474
+
1475
+ </li>
1476
+
1477
+ </ul>
1478
+
1479
+ </div><table class="source_code">
1480
+ <tr>
1481
+ <td>
1482
+ <pre class="lines">
1483
+
1484
+
1485
+ 136
1486
+ 137
1487
+ 138
1488
+ 139
1489
+ 140
1490
+ 141
1491
+ 142
1492
+ 143
1493
+ 144
1494
+ 145
1495
+ 146
1496
+ 147
1497
+ 148
1498
+ 149
1499
+ 150
1500
+ 151
1501
+ 152
1502
+ 153
1503
+ 154
1504
+ 155
1505
+ 156
1506
+ 157
1507
+ 158
1508
+ 159
1509
+ 160
1510
+ 161
1511
+ 162
1512
+ 163
1513
+ 164</pre>
1514
+ </td>
1515
+ <td>
1516
+ <pre class="code"><span class="info file"># File 'lib/mir/disk/amazon.rb', line 136</span>
1517
+
1518
+ <span class='kw'>def</span> <span class='id write'>write</span><span class='lparen'>(</span><span class='id file_path'>file_path</span><span class='rparen'>)</span>
1519
+ <span class='id key'>key</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id class'>class</span><span class='period'>.</span><span class='id s3_key'>s3_key</span><span class='lparen'>(</span><span class='id file_path'>file_path</span><span class='rparen'>)</span>
1520
+
1521
+ <span class='kw'>if</span> <span class='const'>File</span><span class='period'>.</span><span class='id size'>size</span><span class='lparen'>(</span><span class='id file_path'>file_path</span><span class='rparen'>)</span> <span class='op'>&lt;=</span> <span class='id chunk_size'>chunk_size</span>
1522
+ <span class='id connection'>connection</span><span class='period'>.</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='id key'>key</span><span class='comma'>,</span> <span class='id open'>open</span><span class='lparen'>(</span><span class='id file_path'>file_path</span><span class='rparen'>)</span><span class='rparen'>)</span>
1523
+ <span class='id raise'>raise</span> <span class='const'>Disk</span><span class='op'>::</span><span class='const'>IncompleteTransmission</span> <span class='kw'>unless</span> <span class='id equals?'>equals?</span><span class='lparen'>(</span><span class='id file_path'>file_path</span><span class='comma'>,</span> <span class='id key'>key</span><span class='rparen'>)</span>
1524
+ <span class='kw'>else</span>
1525
+ <span class='id delete_parts'>delete_parts</span><span class='lparen'>(</span><span class='id file_path'>file_path</span><span class='rparen'>)</span> <span class='comment'># clean up remaining part files if any exist
1526
+ </span>
1527
+ <span class='id open'>open</span><span class='lparen'>(</span><span class='id file_path'>file_path</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>rb</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id source'>source</span><span class='op'>|</span>
1528
+ <span class='id part_id'>part_id</span> <span class='op'>=</span> <span class='int'>1</span>
1529
+ <span class='kw'>while</span> <span class='id part'>part</span> <span class='op'>=</span> <span class='id source'>source</span><span class='period'>.</span><span class='id read'>read</span><span class='lparen'>(</span><span class='id chunk_size'>chunk_size</span><span class='rparen'>)</span> <span class='kw'>do</span>
1530
+ <span class='id part_name'>part_name</span> <span class='op'>=</span> <span class='const'>Mir</span><span class='op'>::</span><span class='const'>Utils</span><span class='period'>.</span><span class='id filename_with_sequence'>filename_with_sequence</span><span class='lparen'>(</span><span class='id key'>key</span><span class='comma'>,</span> <span class='id part_id'>part_id</span><span class='rparen'>)</span>
1531
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Writing part </span><span class='embexpr_beg'>#{</span><span class='id part_name'>part_name</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1532
+
1533
+ <span class='id temp_file'>temp_file</span><span class='lparen'>(</span><span class='id part_name'>part_name</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id tmp'>tmp</span><span class='op'>|</span>
1534
+ <span class='id tmp'>tmp</span><span class='period'>.</span><span class='id binmode'>binmode</span>
1535
+ <span class='id tmp'>tmp</span><span class='period'>.</span><span class='id write'>write</span><span class='lparen'>(</span><span class='id part'>part</span><span class='rparen'>)</span>
1536
+ <span class='id tmp'>tmp</span><span class='period'>.</span><span class='id rewind'>rewind</span>
1537
+ <span class='id connection'>connection</span><span class='period'>.</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='id part_name'>part_name</span><span class='comma'>,</span> <span class='id open'>open</span><span class='lparen'>(</span><span class='id tmp'>tmp</span><span class='period'>.</span><span class='id path'>path</span><span class='rparen'>)</span><span class='rparen'>)</span>
1538
+ <span class='id raise'>raise</span> <span class='const'>Disk</span><span class='op'>::</span><span class='const'>IncompleteTransmission</span> <span class='kw'>unless</span> <span class='id equals?'>equals?</span><span class='lparen'>(</span><span class='id tmp'>tmp</span><span class='period'>.</span><span class='id path'>path</span><span class='comma'>,</span> <span class='id part_name'>part_name</span><span class='rparen'>)</span>
1539
+ <span class='kw'>end</span>
1540
+
1541
+ <span class='id part_id'>part_id</span> <span class='op'>+=</span> <span class='int'>1</span>
1542
+ <span class='kw'>end</span>
1543
+ <span class='kw'>end</span>
1544
+ <span class='kw'>end</span>
1545
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Completed upload </span><span class='embexpr_beg'>#{</span><span class='id file_path'>file_path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1546
+ <span class='kw'>end</span></pre>
1547
+ </td>
1548
+ </tr>
1549
+ </table>
1550
+ </div>
1551
+
1552
+ </div>
1553
+
1554
+ </div>
1555
+
1556
+ <div id="footer">
1557
+ Generated on Fri Sep 23 18:24:38 2011 by
1558
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1559
+ 0.7.2 (ruby-1.9.2).
1560
+ </div>
1561
+
1562
+ </body>
1563
+ </html>