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.
- data/.gitignore +1 -0
- data/doc/Mir.html +353 -0
- data/doc/Mir/Application.html +1067 -0
- data/doc/Mir/Config.html +660 -0
- data/doc/Mir/Disk.html +211 -0
- data/doc/Mir/Disk/Amazon.html +1563 -0
- data/doc/Mir/Disk/IncompleteTransmission.html +116 -0
- data/doc/Mir/Disk/MultiPartFile.html +586 -0
- data/doc/Mir/Disk/RemoteFileNotFound.html +116 -0
- data/doc/Mir/Index.html +785 -0
- data/doc/Mir/Models.html +108 -0
- data/doc/Mir/Models/AppSetting.html +370 -0
- data/doc/Mir/Models/Resource.html +1140 -0
- data/doc/Mir/Options.html +297 -0
- data/doc/Mir/UndefinedConfigValue.html +116 -0
- data/doc/Mir/Utils.html +582 -0
- data/doc/_index.html +263 -0
- data/doc/class_list.html +47 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +53 -0
- data/doc/css/style.css +320 -0
- data/doc/file.README.html +134 -0
- data/doc/file_list.html +49 -0
- data/doc/frames.html +13 -0
- data/doc/index.html +134 -0
- data/doc/js/app.js +205 -0
- data/doc/js/full_list.js +150 -0
- data/doc/js/jquery.js +16 -0
- data/doc/method_list.html +590 -0
- data/doc/top-level-namespace.html +103 -0
- data/lib/mir/application.rb +92 -82
- data/lib/mir/config.rb +8 -6
- data/lib/mir/disk.rb +1 -0
- data/lib/mir/disk/amazon.rb +33 -8
- data/lib/mir/index.rb +24 -7
- data/lib/mir/logger.rb +5 -0
- data/lib/mir/models/resource.rb +5 -3
- data/lib/mir/utils.rb +9 -3
- data/lib/mir/version.rb +1 -1
- metadata +30 -1
data/doc/Mir/Disk.html
ADDED
@@ -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
|
+
— 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> »
|
37
|
+
<span class='title'><span class='object_link'><a href="../Mir.html" title="Mir (module)">Mir</a></span></span>
|
38
|
+
»
|
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'>"</span><span class='tstring_content'>s3</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>Could not find specified cloud provider</span><span class='tstring_end'>"</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
|
+
— 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> »
|
37
|
+
<span class='title'><span class='object_link'><a href="../../Mir.html" title="Mir (module)">Mir</a></span></span> » <span class='title'><span class='object_link'><a href="../Disk.html" title="Mir::Disk (module)">Disk</a></span></span>
|
38
|
+
»
|
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
|
+
—
|
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
|
+
— <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
|
+
— <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
|
+
— <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
|
+
— <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
|
+
—
|
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
|
+
—
|
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'>></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
|
+
—
|
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
|
+
—
|
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
|
+
—
|
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'>"</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'>"</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'>=></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'>"</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'>"</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
|
+
—
|
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'>=></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
|
+
—
|
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
|
+
—
|
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
|
+
—
|
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'><=</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'>"</span><span class='tstring_content'>rb</span><span class='tstring_end'>"</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'>"</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'>"</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'>"</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'>"</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>
|