s3aps 0.0.1

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,380 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: S3aps::Sync</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="../js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="../js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="../js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="class">
23
+
24
+ <div id="metadata">
25
+ <div id="home-metadata">
26
+ <div id="home-section" class="section">
27
+ <h3 class="section-header">
28
+ <a href="../index.html">Home</a>
29
+ <a href="../index.html#classes">Classes</a>
30
+ <a href="../index.html#methods">Methods</a>
31
+ </h3>
32
+ </div>
33
+ </div>
34
+
35
+ <div id="file-metadata">
36
+ <div id="file-list-section" class="section">
37
+ <h3 class="section-header">In Files</h3>
38
+ <div class="section-body">
39
+ <ul>
40
+
41
+ <li><a href="../lib/s3aps/sync_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/s3aps/sync.rb">lib/s3aps/sync.rb</a></li>
43
+
44
+ </ul>
45
+ </div>
46
+ </div>
47
+
48
+
49
+ </div>
50
+
51
+ <div id="class-metadata">
52
+
53
+ <!-- Parent Class -->
54
+
55
+ <div id="parent-class-section" class="section">
56
+ <h3 class="section-header">Parent</h3>
57
+
58
+ <p class="link">Object</p>
59
+
60
+ </div>
61
+
62
+
63
+ <!-- Namespace Contents -->
64
+
65
+
66
+ <!-- Method Quickref -->
67
+
68
+ <div id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+ <ul class="link-list">
71
+
72
+ <li><a href="#method-c-new">::new</a></li>
73
+
74
+ <li><a href="#method-i-list">#list</a></li>
75
+
76
+ <li><a href="#method-i-pull">#pull</a></li>
77
+
78
+ <li><a href="#method-i-push">#push</a></li>
79
+
80
+ </ul>
81
+ </div>
82
+
83
+
84
+ <!-- Included Modules -->
85
+
86
+ </div>
87
+
88
+ <div id="project-metadata">
89
+
90
+
91
+
92
+ <div id="classindex-section" class="section project-section">
93
+ <h3 class="section-header">Class Index
94
+ <span class="search-toggle"><img src="../images/find.png"
95
+ height="16" width="16" alt="[+]"
96
+ title="show/hide quicksearch" /></span></h3>
97
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
98
+ <fieldset>
99
+ <legend>Quicksearch</legend>
100
+ <input type="text" name="quicksearch" value=""
101
+ class="quicksearch-field" />
102
+ </fieldset>
103
+ </form>
104
+
105
+ <ul class="link-list">
106
+
107
+ <li><a href="../S3aps/FileAdapter.html">S3aps::FileAdapter</a></li>
108
+
109
+ <li><a href="../S3aps/Runner.html">S3aps::Runner</a></li>
110
+
111
+ <li><a href="../S3aps/S3Adapter.html">S3aps::S3Adapter</a></li>
112
+
113
+ <li><a href="../S3aps/Sync.html">S3aps::Sync</a></li>
114
+
115
+ </ul>
116
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
117
+ </div>
118
+
119
+
120
+ </div>
121
+ </div>
122
+
123
+ <div id="documentation">
124
+ <h1 class="class">S3aps::Sync</h1>
125
+
126
+ <div id="description">
127
+ <p>
128
+ The controller for everything else.
129
+ </p>
130
+
131
+ </div>
132
+
133
+ <!-- Constants -->
134
+
135
+
136
+ <!-- Attributes -->
137
+
138
+
139
+ <!-- Methods -->
140
+
141
+ <div id="public-class-method-details" class="method-section section">
142
+ <h3 class="section-header">Public Class Methods</h3>
143
+
144
+
145
+ <div id="new-method" class="method-detail ">
146
+ <a name="method-c-new"></a>
147
+
148
+ <div class="method-heading">
149
+
150
+ <span class="method-name">new</span><span
151
+ class="method-args">(options = {})</span>
152
+ <span class="method-click-advice">click to toggle source</span>
153
+
154
+ </div>
155
+
156
+ <div class="method-description">
157
+
158
+
159
+
160
+
161
+
162
+ <div class="method-source-code"
163
+ id="new-source">
164
+ <pre>
165
+ <span class="ruby-comment cmt"># File lib/s3aps/sync.rb, line 22</span>
166
+ 22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span> = {})
167
+ 23: <span class="ruby-identifier">options</span> = <span class="ruby-constant">S3aps</span><span class="ruby-operator">::</span><span class="ruby-identifier">symbolize_keys</span>(<span class="ruby-identifier">options</span>)
168
+ 24: <span class="ruby-identifier">s3_file</span> = [<span class="ruby-identifier">options</span>[<span class="ruby-value">:config</span>], <span class="ruby-value str">&quot;s3.yml&quot;</span>, <span class="ruby-value str">&quot;config/s3.yml&quot;</span>].<span class="ruby-identifier">detect</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-identifier">f</span>) }
169
+ 25: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s3_file</span>
170
+ 26: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Configuring S3 from #{s3_file}&quot;</span>
171
+ 27: <span class="ruby-identifier">yaml_options</span> = <span class="ruby-constant">S3aps</span><span class="ruby-operator">::</span><span class="ruby-identifier">symbolize_keys</span> <span class="ruby-constant">YAML</span>.<span class="ruby-identifier">load_file</span>(<span class="ruby-identifier">s3_file</span>)
172
+ 28: <span class="ruby-identifier">env</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:env</span>]
173
+ 29: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">env</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">yaml_options</span>[<span class="ruby-identifier">env</span>.<span class="ruby-identifier">to_sym</span>]
174
+ 30: <span class="ruby-identifier">yaml_options</span> = <span class="ruby-constant">S3aps</span><span class="ruby-operator">::</span><span class="ruby-identifier">symbolize_keys</span> <span class="ruby-identifier">yaml_options</span>[<span class="ruby-identifier">env</span>.<span class="ruby-identifier">to_sym</span>]
175
+ 31: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Using #{env} environment&quot;</span>
176
+ 32: <span class="ruby-keyword kw">end</span>
177
+ 33: <span class="ruby-comment cmt"># Support for alias: access_key_id = key </span>
178
+ 34: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">yaml_options</span>[<span class="ruby-value">:access_key_id</span>]
179
+ 35: <span class="ruby-identifier">yaml_options</span>[<span class="ruby-value">:key</span>] <span class="ruby-operator">||=</span> <span class="ruby-identifier">yaml_options</span>[<span class="ruby-value">:access_key_id</span>]
180
+ 36: <span class="ruby-identifier">yaml_options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:access_key_id</span>)
181
+ 37: <span class="ruby-keyword kw">end</span>
182
+ 38: <span class="ruby-comment cmt"># Support for alias: secret_access_key = secret </span>
183
+ 39: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">yaml_options</span>[<span class="ruby-value">:secret_access_key</span>]
184
+ 40: <span class="ruby-identifier">yaml_options</span>[<span class="ruby-value">:secret</span>] <span class="ruby-operator">||=</span> <span class="ruby-identifier">yaml_options</span>[<span class="ruby-value">:secret_access_key</span>]
185
+ 41: <span class="ruby-identifier">yaml_options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value">:secret_access_key</span>)
186
+ 42: <span class="ruby-keyword kw">end</span>
187
+ 43: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">yaml_options</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">o</span>,<span class="ruby-identifier">n</span><span class="ruby-operator">|</span> <span class="ruby-identifier">o</span> }
188
+ 44: <span class="ruby-keyword kw">end</span>
189
+ 45: <span class="ruby-ivar">@s3_adapter</span> = <span class="ruby-constant">S3aps</span><span class="ruby-operator">::</span><span class="ruby-constant">S3Adapter</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">options</span>
190
+ 46: <span class="ruby-ivar">@file_adapter</span> = <span class="ruby-constant">S3aps</span><span class="ruby-operator">::</span><span class="ruby-constant">FileAdapter</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">options</span>
191
+ 47: <span class="ruby-keyword kw">end</span></pre>
192
+ </div>
193
+
194
+ </div>
195
+
196
+
197
+
198
+
199
+ </div>
200
+
201
+
202
+ </div>
203
+
204
+ <div id="public-instance-method-details" class="method-section section">
205
+ <h3 class="section-header">Public Instance Methods</h3>
206
+
207
+
208
+ <div id="list-method" class="method-detail ">
209
+ <a name="method-i-list"></a>
210
+
211
+ <div class="method-heading">
212
+
213
+ <span class="method-name">list</span><span
214
+ class="method-args">()</span>
215
+ <span class="method-click-advice">click to toggle source</span>
216
+
217
+ </div>
218
+
219
+ <div class="method-description">
220
+
221
+ <p>
222
+ Merge the local and remote lists into one and indicate whether each item is
223
+ local, remote or both
224
+ </p>
225
+
226
+
227
+
228
+ <div class="method-source-code"
229
+ id="list-source">
230
+ <pre>
231
+ <span class="ruby-comment cmt"># File lib/s3aps/sync.rb, line 51</span>
232
+ 51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">list</span>
233
+ 52: <span class="ruby-identifier">local</span> = <span class="ruby-ivar">@file_adapter</span>.<span class="ruby-identifier">list</span>
234
+ 53: <span class="ruby-identifier">remote</span> = <span class="ruby-ivar">@s3_adapter</span>.<span class="ruby-identifier">list</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span> <span class="ruby-identifier">i</span>[<span class="ruby-value">:key</span>]}
235
+ 54: <span class="ruby-identifier">all</span> = (<span class="ruby-identifier">local</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">remote</span>).<span class="ruby-identifier">uniq</span>.<span class="ruby-identifier">sort</span>
236
+ 55: <span class="ruby-identifier">all</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
237
+ 56: [
238
+ 57: <span class="ruby-identifier">local</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">path</span>) <span class="ruby-operator">?</span> <span class="ruby-value str">&quot;L&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot; &quot;</span>,
239
+ 58: <span class="ruby-identifier">remote</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">path</span>) <span class="ruby-operator">?</span> <span class="ruby-value str">&quot;R&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot; &quot;</span>,
240
+ 59: <span class="ruby-identifier">path</span>
241
+ 60: ]
242
+ 61: <span class="ruby-keyword kw">end</span>
243
+ 62: <span class="ruby-keyword kw">end</span></pre>
244
+ </div>
245
+
246
+ </div>
247
+
248
+
249
+
250
+
251
+ </div>
252
+
253
+
254
+ <div id="pull-method" class="method-detail ">
255
+ <a name="method-i-pull"></a>
256
+
257
+ <div class="method-heading">
258
+
259
+ <span class="method-name">pull</span><span
260
+ class="method-args">()</span>
261
+ <span class="method-click-advice">click to toggle source</span>
262
+
263
+ </div>
264
+
265
+ <div class="method-description">
266
+
267
+ <p>
268
+ Get all the remote files and write them out locally, if they don&#8217;t
269
+ already exist. For simplicity, we assume that if a file of the same name
270
+ already exists then it is the same as the remote one.
271
+ </p>
272
+
273
+
274
+
275
+ <div class="method-source-code"
276
+ id="pull-source">
277
+ <pre>
278
+ <span class="ruby-comment cmt"># File lib/s3aps/sync.rb, line 67</span>
279
+ 67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pull</span>
280
+ 68: <span class="ruby-identifier">check_list</span> = <span class="ruby-identifier">local_list</span>
281
+ 69: <span class="ruby-identifier">count</span> = <span class="ruby-value">0</span>
282
+ 70: <span class="ruby-identifier">total</span> = <span class="ruby-value">0</span>
283
+ 71: <span class="ruby-ivar">@s3_adapter</span>.<span class="ruby-identifier">list</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
284
+ 72: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">check_list</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">o</span>[<span class="ruby-value">:key</span>])
285
+ 73: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">print</span> <span class="ruby-value str">&quot;*&quot;</span>
286
+ 74: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@file_adapter</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">o</span>[<span class="ruby-value">:key</span>], <span class="ruby-ivar">@s3_adapter</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">o</span>[<span class="ruby-value">:key</span>]), <span class="ruby-identifier">o</span>[<span class="ruby-value">:etag</span>])
287
+ 75: <span class="ruby-identifier">count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
288
+ 76: <span class="ruby-keyword kw">end</span>
289
+ 77: <span class="ruby-keyword kw">else</span>
290
+ 78: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">print</span> <span class="ruby-value str">&quot;.&quot;</span>
291
+ 79: <span class="ruby-keyword kw">end</span>
292
+ 80: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">flush</span>
293
+ 81: <span class="ruby-identifier">total</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
294
+ 82: <span class="ruby-keyword kw">end</span>
295
+ 83: [<span class="ruby-identifier">count</span>, <span class="ruby-identifier">total</span>]
296
+ 84: <span class="ruby-keyword kw">end</span></pre>
297
+ </div>
298
+
299
+ </div>
300
+
301
+
302
+
303
+
304
+ </div>
305
+
306
+
307
+ <div id="push-method" class="method-detail ">
308
+ <a name="method-i-push"></a>
309
+
310
+ <div class="method-heading">
311
+
312
+ <span class="method-name">push</span><span
313
+ class="method-args">()</span>
314
+ <span class="method-click-advice">click to toggle source</span>
315
+
316
+ </div>
317
+
318
+ <div class="method-description">
319
+
320
+ <p>
321
+ Get all the local files, recursively, and write them to S3, if they
322
+ don&#8217;t already exist. For simplicity, we assume that if a file of the
323
+ same name already exists then it is the same as the local one.
324
+ </p>
325
+
326
+
327
+
328
+ <div class="method-source-code"
329
+ id="push-source">
330
+ <pre>
331
+ <span class="ruby-comment cmt"># File lib/s3aps/sync.rb, line 89</span>
332
+ 89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">push</span>
333
+ 90: <span class="ruby-identifier">check_list</span> = <span class="ruby-identifier">remote_list</span>
334
+ 91: <span class="ruby-identifier">count</span> = <span class="ruby-value">0</span>
335
+ 92: <span class="ruby-identifier">total</span> = <span class="ruby-value">0</span>
336
+ 93: <span class="ruby-ivar">@file_adapter</span>.<span class="ruby-identifier">list</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
337
+ 94: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">check_list</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">path</span>)
338
+ 95: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">print</span> <span class="ruby-value str">&quot;*&quot;</span>
339
+ 96: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@s3_adapter</span>.<span class="ruby-identifier">write</span>(<span class="ruby-identifier">path</span>, <span class="ruby-ivar">@file_adapter</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">path</span>))
340
+ 97: <span class="ruby-identifier">count</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
341
+ 98: <span class="ruby-keyword kw">end</span>
342
+ 99: <span class="ruby-keyword kw">else</span>
343
+ 100: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">print</span> <span class="ruby-value str">&quot;.&quot;</span>
344
+ 101: <span class="ruby-keyword kw">end</span>
345
+ 102: <span class="ruby-identifier">$stdout</span>.<span class="ruby-identifier">flush</span>
346
+ 103: <span class="ruby-identifier">total</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
347
+ 104: <span class="ruby-keyword kw">end</span>
348
+ 105: [<span class="ruby-identifier">count</span>, <span class="ruby-identifier">total</span>]
349
+ 106: <span class="ruby-keyword kw">end</span></pre>
350
+ </div>
351
+
352
+ </div>
353
+
354
+
355
+
356
+
357
+ </div>
358
+
359
+
360
+ </div>
361
+
362
+
363
+ </div>
364
+
365
+
366
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
367
+
368
+ <p>Disabled; run with --debug to generate this.</p>
369
+
370
+ </div>
371
+
372
+ <div id="validator-badges">
373
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
374
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
375
+ Rdoc Generator</a> 1.1.6</small>.</p>
376
+ </div>
377
+
378
+ </body>
379
+ </html>
380
+
@@ -0,0 +1,7 @@
1
+ Thu, 12 May 2011 07:56:24 -0700
2
+ lib/s3aps/file_adapter.rb Wed, 11 May 2011 18:28:37 -0700
3
+ lib/s3aps/runner.rb Wed, 11 May 2011 19:09:39 -0700
4
+ lib/s3aps/s3_adapter.rb Wed, 11 May 2011 22:35:12 -0700
5
+ lib/s3aps/sync.rb Thu, 12 May 2011 07:48:13 -0700
6
+ lib/s3aps/version.rb Thu, 12 May 2011 07:49:52 -0700
7
+ lib/s3aps.rb Wed, 11 May 2011 17:40:32 -0700
@@ -0,0 +1,87 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
3
+ "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4
+
5
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
6
+ <head>
7
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
8
+
9
+ <title>RDoc Documentation</title>
10
+
11
+ <link type="text/css" media="screen" href="rdoc.css" rel="stylesheet" />
12
+
13
+ <script src="js/jquery.js" type="text/javascript" charset="utf-8"></script>
14
+ <script src="js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
15
+ <script src="js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
16
+ <script src="js/darkfish.js" type="text/javascript" charset="utf-8"></script>
17
+
18
+ </head>
19
+ <body class="indexpage">
20
+
21
+
22
+ <h1>RDoc Documentation</h1>
23
+
24
+
25
+ <p>This is the API documentation for 'RDoc Documentation'.</p>
26
+
27
+
28
+
29
+
30
+
31
+ <h2 id="classes">Classes/Modules</h2>
32
+ <ul>
33
+
34
+ <li class="class"><a href="S3aps/FileAdapter.html">S3aps::FileAdapter</a></li>
35
+
36
+ <li class="class"><a href="S3aps/Runner.html">S3aps::Runner</a></li>
37
+
38
+ <li class="class"><a href="S3aps/S3Adapter.html">S3aps::S3Adapter</a></li>
39
+
40
+ <li class="class"><a href="S3aps/Sync.html">S3aps::Sync</a></li>
41
+
42
+ </ul>
43
+
44
+ <h2 id="methods">Methods</h2>
45
+ <ul>
46
+
47
+ <li><a href="S3aps/FileAdapter.html#method-c-new">::new &mdash; S3aps::FileAdapter</a></li>
48
+
49
+ <li><a href="S3aps/Sync.html#method-c-new">::new &mdash; S3aps::Sync</a></li>
50
+
51
+ <li><a href="S3aps/Runner.html#method-c-new">::new &mdash; S3aps::Runner</a></li>
52
+
53
+ <li><a href="S3aps/S3Adapter.html#method-c-new">::new &mdash; S3aps::S3Adapter</a></li>
54
+
55
+ <li><a href="S3aps/FileAdapter.html#method-i-list">#list &mdash; S3aps::FileAdapter</a></li>
56
+
57
+ <li><a href="S3aps/Runner.html#method-i-list">#list &mdash; S3aps::Runner</a></li>
58
+
59
+ <li><a href="S3aps/Sync.html#method-i-list">#list &mdash; S3aps::Sync</a></li>
60
+
61
+ <li><a href="S3aps/S3Adapter.html#method-i-list">#list &mdash; S3aps::S3Adapter</a></li>
62
+
63
+ <li><a href="S3aps/Runner.html#method-i-pull">#pull &mdash; S3aps::Runner</a></li>
64
+
65
+ <li><a href="S3aps/Sync.html#method-i-pull">#pull &mdash; S3aps::Sync</a></li>
66
+
67
+ <li><a href="S3aps/Runner.html#method-i-push">#push &mdash; S3aps::Runner</a></li>
68
+
69
+ <li><a href="S3aps/Sync.html#method-i-push">#push &mdash; S3aps::Sync</a></li>
70
+
71
+ <li><a href="S3aps/S3Adapter.html#method-i-read">#read &mdash; S3aps::S3Adapter</a></li>
72
+
73
+ <li><a href="S3aps/FileAdapter.html#method-i-read">#read &mdash; S3aps::FileAdapter</a></li>
74
+
75
+ <li><a href="S3aps/FileAdapter.html#method-i-write">#write &mdash; S3aps::FileAdapter</a></li>
76
+
77
+ <li><a href="S3aps/S3Adapter.html#method-i-write">#write &mdash; S3aps::S3Adapter</a></li>
78
+
79
+ </ul>
80
+
81
+ <div id="validator-badges">
82
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
83
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
84
+ Rdoc Generator</a> 1.1.6</small>.</p>
85
+ </div>
86
+ </body>
87
+ </html>