vfs-momolog 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.
Files changed (51) hide show
  1. data/.gitignore +8 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +22 -0
  4. data/Rakefile +2 -0
  5. data/docs/basics.rb +116 -0
  6. data/docs/s3_backup.rb +29 -0
  7. data/docs/s3_backup/app/files/bos.png +0 -0
  8. data/docs/s3_basics.rb +19 -0
  9. data/docs/s3_sandbox.rb +24 -0
  10. data/docs/site/404.html +8 -0
  11. data/docs/site/basics.html +305 -0
  12. data/docs/site/index.html +8 -0
  13. data/docs/site/s3_backup.html +111 -0
  14. data/docs/site/s3_basics.html +84 -0
  15. data/docs/site/s3_sandbox.html +99 -0
  16. data/docs/site/ssh_basics.html +84 -0
  17. data/docs/site/ssh_deployment.html +125 -0
  18. data/docs/site/ssh_sandbox.html +103 -0
  19. data/docs/ssh_basics.rb +19 -0
  20. data/docs/ssh_deployment.rb +35 -0
  21. data/docs/ssh_deployment/app/app.rb +0 -0
  22. data/docs/ssh_sandbox.rb +28 -0
  23. data/lib/vfs.rb +18 -0
  24. data/lib/vfs/drivers/local.rb +180 -0
  25. data/lib/vfs/drivers/specification.rb +169 -0
  26. data/lib/vfs/entries/dir.rb +256 -0
  27. data/lib/vfs/entries/entry.rb +152 -0
  28. data/lib/vfs/entries/file.rb +155 -0
  29. data/lib/vfs/entries/universal_entry.rb +24 -0
  30. data/lib/vfs/entry_proxy.rb +42 -0
  31. data/lib/vfs/error.rb +4 -0
  32. data/lib/vfs/integration.rb +30 -0
  33. data/lib/vfs/path.rb +123 -0
  34. data/lib/vfs/version.rb +3 -0
  35. data/lib/vfs/vfs.rb +38 -0
  36. data/old/hash_fs.rb +216 -0
  37. data/old/hash_fs_spec.rb +10 -0
  38. data/readme.md +143 -0
  39. data/spec/container_spec.rb +31 -0
  40. data/spec/dir_spec.rb +253 -0
  41. data/spec/entry_spec.rb +42 -0
  42. data/spec/file_spec.rb +215 -0
  43. data/spec/misc_spec.rb +19 -0
  44. data/spec/path_spec.rb +127 -0
  45. data/spec/spec_helper.rb +50 -0
  46. data/spec/storages/local_spec.rb +24 -0
  47. data/spec/storages/local_spec/emptygit +0 -0
  48. data/spec/universal_entry_spec.rb +69 -0
  49. data/todo.md +19 -0
  50. data/vfs.gemspec +17 -0
  51. metadata +105 -0
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <meta http-equiv="Refresh" content="0; url=basics.html" />
4
+ </head>
5
+ <body>
6
+ <p>Please follow <a href="basics.html">this link</a>.</p>
7
+ </body>
8
+ </html>
@@ -0,0 +1,111 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html;charset=utf-8">
5
+ <title>s3_backup.rb</title>
6
+ <link rel="stylesheet" href="http://jashkenas.github.com/docco/resources/docco.css">
7
+ </head>
8
+ <body>
9
+ <div id='container'>
10
+ <div id="background"></div>
11
+ <div id="jump_to">
12
+ Jump To &hellip;
13
+ <div id="jump_wrapper">
14
+ <div id="jump_page">
15
+ <a class="source" href="basics.html">basics.rb</a>
16
+ <a class="source" href="s3_backup.html">s3_backup.rb</a>
17
+ <a class="source" href="s3_basics.html">s3_basics.rb</a>
18
+ <a class="source" href="s3_sandbox.html">s3_sandbox.rb</a>
19
+ <a class="source" href="ssh_basics.html">ssh_basics.rb</a>
20
+ <a class="source" href="ssh_deployment.html">ssh_deployment.rb</a>
21
+ <a class="source" href="ssh_sandbox.html">ssh_sandbox.rb</a>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ <table cellspacing=0 cellpadding=0>
26
+ <thead>
27
+ <tr>
28
+ <th class=docs><h1>s3_backup.rb</h1></th>
29
+ <th class=code></th>
30
+ </tr>
31
+ </thead>
32
+ <tbody>
33
+ <tr id='section-1'>
34
+ <td class=docs>
35
+ <div class="pilwrap">
36
+ <a class="pilcrow" href="#section-1">&#182;</a>
37
+ </div>
38
+ <p>Example of creating AWS S3 Backup with <a href="index.html">Virtual File System</a>.</p>
39
+
40
+ <p>In this example we uploading sample files to S3 and then
41
+ copying it back to local folder.</p>
42
+ </td>
43
+ <td class=code>
44
+ <div class='highlight'><pre></pre></div>
45
+ </td>
46
+ </tr>
47
+ <tr id='section-2'>
48
+ <td class=docs>
49
+ <div class="pilwrap">
50
+ <a class="pilcrow" href="#section-2">&#182;</a>
51
+ </div>
52
+ <p>Connecting to S3 and preparing sandbox. You may take a look at
53
+ the <a href="s3_sandbox.html">docs/s3_sandbox.rb</a> to see the actual code.</p>
54
+ </td>
55
+ <td class=code>
56
+ <div class='highlight'><pre><span class="vg">$LOAD_PATH</span> <span class="o">&lt;&lt;</span> <span class="no">File</span><span class="o">.</span><span class="n">expand_path</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">#{</span><span class="bp">__FILE__</span><span class="si">}</span><span class="s2">/../..&quot;</span><span class="p">)</span>
57
+ <span class="nb">require</span> <span class="s1">&#39;docs/s3_sandbox&#39;</span>
58
+ <span class="n">s3</span> <span class="o">=</span> <span class="vg">$sandbox</span></pre></div>
59
+ </td>
60
+ </tr>
61
+ <tr id='section-3'>
62
+ <td class=docs>
63
+ <div class="pilwrap">
64
+ <a class="pilcrow" href="#section-3">&#182;</a>
65
+ </div>
66
+ <p>Preparing sample files located in our local folder in
67
+ current directory.</p>
68
+ </td>
69
+ <td class=code>
70
+ <div class='highlight'><pre><span class="n">current_dir</span> <span class="o">=</span> <span class="bp">__FILE__</span><span class="o">.</span><span class="n">to_entry</span><span class="o">.</span><span class="n">parent</span>
71
+ <span class="n">sample_files</span> <span class="o">=</span> <span class="n">current_dir</span><span class="o">[</span><span class="s1">&#39;s3_backup/app&#39;</span><span class="o">]</span></pre></div>
72
+ </td>
73
+ </tr>
74
+ <tr id='section-4'>
75
+ <td class=docs>
76
+ <div class="pilwrap">
77
+ <a class="pilcrow" href="#section-4">&#182;</a>
78
+ </div>
79
+ <p>Uploading sample files to S3.</p>
80
+ </td>
81
+ <td class=code>
82
+ <div class='highlight'><pre><span class="n">sample_files</span><span class="o">.</span><span class="n">copy_to</span> <span class="n">s3</span><span class="o">[</span><span class="s1">&#39;app&#39;</span><span class="o">]</span>
83
+ <span class="nb">p</span> <span class="n">s3</span><span class="o">[</span><span class="s1">&#39;app/files/bos.png&#39;</span><span class="o">].</span><span class="n">exist?</span> <span class="c1"># =&gt; true</span></pre></div>
84
+ </td>
85
+ </tr>
86
+ <tr id='section-5'>
87
+ <td class=docs>
88
+ <div class="pilwrap">
89
+ <a class="pilcrow" href="#section-5">&#182;</a>
90
+ </div>
91
+ <p>Preparing local storage for S3 backup.</p>
92
+ </td>
93
+ <td class=code>
94
+ <div class='highlight'><pre><span class="n">local_backup</span> <span class="o">=</span> <span class="s1">&#39;/tmp/vfs_sandbox/backup&#39;</span><span class="o">.</span><span class="n">to_dir</span><span class="o">.</span><span class="n">destroy</span></pre></div>
95
+ </td>
96
+ </tr>
97
+ <tr id='section-6'>
98
+ <td class=docs>
99
+ <div class="pilwrap">
100
+ <a class="pilcrow" href="#section-6">&#182;</a>
101
+ </div>
102
+ <p>Copying files from S3 to local backup directory.</p>
103
+ </td>
104
+ <td class=code>
105
+ <div class='highlight'><pre><span class="n">s3</span><span class="o">[</span><span class="s1">&#39;app&#39;</span><span class="o">].</span><span class="n">copy_to</span> <span class="n">local_backup</span><span class="o">[</span><span class="s1">&#39;app&#39;</span><span class="o">]</span>
106
+ <span class="nb">p</span> <span class="n">local_backup</span><span class="o">[</span><span class="s1">&#39;app/files/bos.png&#39;</span><span class="o">].</span><span class="n">exist?</span> <span class="c1"># =&gt; true</span></pre></div>
107
+ </td>
108
+ </tr>
109
+ </table>
110
+ </div>
111
+ </body>
@@ -0,0 +1,84 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html;charset=utf-8">
5
+ <title>s3_basics.rb</title>
6
+ <link rel="stylesheet" href="http://jashkenas.github.com/docco/resources/docco.css">
7
+ </head>
8
+ <body>
9
+ <div id='container'>
10
+ <div id="background"></div>
11
+ <div id="jump_to">
12
+ Jump To &hellip;
13
+ <div id="jump_wrapper">
14
+ <div id="jump_page">
15
+ <a class="source" href="basics.html">basics.rb</a>
16
+ <a class="source" href="s3_backup.html">s3_backup.rb</a>
17
+ <a class="source" href="s3_basics.html">s3_basics.rb</a>
18
+ <a class="source" href="s3_sandbox.html">s3_sandbox.rb</a>
19
+ <a class="source" href="ssh_basics.html">ssh_basics.rb</a>
20
+ <a class="source" href="ssh_deployment.html">ssh_deployment.rb</a>
21
+ <a class="source" href="ssh_sandbox.html">ssh_sandbox.rb</a>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ <table cellspacing=0 cellpadding=0>
26
+ <thead>
27
+ <tr>
28
+ <th class=docs><h1>s3_basics.rb</h1></th>
29
+ <th class=code></th>
30
+ </tr>
31
+ </thead>
32
+ <tbody>
33
+ <tr id='section-1'>
34
+ <td class=docs>
35
+ <div class="pilwrap">
36
+ <a class="pilcrow" href="#section-1">&#182;</a>
37
+ </div>
38
+ <p>Example of <a href="index.html">Virtual File System</a> working with AWS S3.</p>
39
+
40
+ <p>This is exactly the same <a href="basics.html">basic example</a> but this time
41
+ we using S3 as storage instead of local file system.</p>
42
+ </td>
43
+ <td class=code>
44
+ <div class='highlight'><pre></pre></div>
45
+ </td>
46
+ </tr>
47
+ <tr id='section-2'>
48
+ <td class=docs>
49
+ <div class="pilwrap">
50
+ <a class="pilcrow" href="#section-2">&#182;</a>
51
+ </div>
52
+ <p>Adding examples folder to load paths.</p>
53
+ </td>
54
+ <td class=code>
55
+ <div class='highlight'><pre><span class="vg">$LOAD_PATH</span> <span class="o">&lt;&lt;</span> <span class="no">File</span><span class="o">.</span><span class="n">expand_path</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">#{</span><span class="bp">__FILE__</span><span class="si">}</span><span class="s2">/../..&quot;</span><span class="p">)</span></pre></div>
56
+ </td>
57
+ </tr>
58
+ <tr id='section-3'>
59
+ <td class=docs>
60
+ <div class="pilwrap">
61
+ <a class="pilcrow" href="#section-3">&#182;</a>
62
+ </div>
63
+ <p>Connecting to S3 and preparing sandbox. You may take a look at
64
+ the <a href="s3_sandbox.html">docs/s3_sandbox.rb</a> to see the actual code.</p>
65
+ </td>
66
+ <td class=code>
67
+ <div class='highlight'><pre><span class="nb">require</span> <span class="s1">&#39;docs/s3_sandbox&#39;</span></pre></div>
68
+ </td>
69
+ </tr>
70
+ <tr id='section-4'>
71
+ <td class=docs>
72
+ <div class="pilwrap">
73
+ <a class="pilcrow" href="#section-4">&#182;</a>
74
+ </div>
75
+ <p>Now we just executig <a href="basics.html">basic example</a>
76
+ but with the <code>$storage</code> set to AWS S3.</p>
77
+ </td>
78
+ <td class=code>
79
+ <div class='highlight'><pre><span class="nb">require</span> <span class="s1">&#39;docs/basics&#39;</span></pre></div>
80
+ </td>
81
+ </tr>
82
+ </table>
83
+ </div>
84
+ </body>
@@ -0,0 +1,99 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html;charset=utf-8">
5
+ <title>s3_sandbox.rb</title>
6
+ <link rel="stylesheet" href="http://jashkenas.github.com/docco/resources/docco.css">
7
+ </head>
8
+ <body>
9
+ <div id='container'>
10
+ <div id="background"></div>
11
+ <div id="jump_to">
12
+ Jump To &hellip;
13
+ <div id="jump_wrapper">
14
+ <div id="jump_page">
15
+ <a class="source" href="basics.html">basics.rb</a>
16
+ <a class="source" href="s3_backup.html">s3_backup.rb</a>
17
+ <a class="source" href="s3_basics.html">s3_basics.rb</a>
18
+ <a class="source" href="s3_sandbox.html">s3_sandbox.rb</a>
19
+ <a class="source" href="ssh_basics.html">ssh_basics.rb</a>
20
+ <a class="source" href="ssh_deployment.html">ssh_deployment.rb</a>
21
+ <a class="source" href="ssh_sandbox.html">ssh_sandbox.rb</a>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ <table cellspacing=0 cellpadding=0>
26
+ <thead>
27
+ <tr>
28
+ <th class=docs><h1>s3_sandbox.rb</h1></th>
29
+ <th class=code></th>
30
+ </tr>
31
+ </thead>
32
+ <tbody>
33
+ <tr id='section-1'>
34
+ <td class=docs>
35
+ <div class="pilwrap">
36
+ <a class="pilcrow" href="#section-1">&#182;</a>
37
+ </div>
38
+ <p>Example of using AWS S3 as a storage for <a href="index.html">Virtual File System</a></p>
39
+ </td>
40
+ <td class=code>
41
+ <div class='highlight'><pre></pre></div>
42
+ </td>
43
+ </tr>
44
+ <tr id='section-2'>
45
+ <td class=docs>
46
+ <div class="pilwrap">
47
+ <a class="pilcrow" href="#section-2">&#182;</a>
48
+ </div>
49
+ <p>To use S3 we need the S3 driver, You need &lsquo;vos&rsquo; and &lsquo;aws-sdk&rsquo; gems installed.</p>
50
+
51
+ <pre><code>gem install vos aws-sdk
52
+ </code></pre>
53
+ </td>
54
+ <td class=code>
55
+ <div class='highlight'><pre><span class="nb">require</span> <span class="s1">&#39;vfs&#39;</span>
56
+ <span class="nb">require</span> <span class="s1">&#39;vos&#39;</span>
57
+ <span class="nb">require</span> <span class="s1">&#39;vos/drivers/s3&#39;</span></pre></div>
58
+ </td>
59
+ </tr>
60
+ <tr id='section-3'>
61
+ <td class=docs>
62
+ <div class="pilwrap">
63
+ <a class="pilcrow" href="#section-3">&#182;</a>
64
+ </div>
65
+ <p>Initializing S3 driver, You need to provide Your AWS credentials.</p>
66
+ </td>
67
+ <td class=code>
68
+ <div class='highlight'><pre><span class="n">driver</span> <span class="o">=</span> <span class="no">Vos</span><span class="o">::</span><span class="no">Drivers</span><span class="o">::</span><span class="no">S3</span><span class="o">.</span><span class="n">new</span> <span class="p">\</span>
69
+ <span class="n">access_key_id</span><span class="p">:</span> <span class="s1">&#39;xxx&#39;</span><span class="p">,</span>
70
+ <span class="n">secret_access_key</span><span class="p">:</span> <span class="s1">&#39;xxx&#39;</span><span class="p">,</span>
71
+ <span class="n">bucket</span><span class="p">:</span> <span class="s1">&#39;xxx&#39;</span></pre></div>
72
+ </td>
73
+ </tr>
74
+ <tr id='section-4'>
75
+ <td class=docs>
76
+ <div class="pilwrap">
77
+ <a class="pilcrow" href="#section-4">&#182;</a>
78
+ </div>
79
+ <p>After creating driver we can create storage.</p>
80
+ </td>
81
+ <td class=code>
82
+ <div class='highlight'><pre><span class="n">box</span> <span class="o">=</span> <span class="no">Vos</span><span class="o">::</span><span class="no">Box</span><span class="o">.</span><span class="n">new</span> <span class="n">driver</span></pre></div>
83
+ </td>
84
+ </tr>
85
+ <tr id='section-5'>
86
+ <td class=docs>
87
+ <div class="pilwrap">
88
+ <a class="pilcrow" href="#section-5">&#182;</a>
89
+ </div>
90
+ <p>Preparing temporary dir (actually, S3 has no dirs, but it can mimic it)
91
+ for sandbox and cleaning it before starting.</p>
92
+ </td>
93
+ <td class=code>
94
+ <div class='highlight'><pre><span class="vg">$sandbox</span> <span class="o">=</span> <span class="n">box</span><span class="o">[</span><span class="s1">&#39;/tmp/vfs_sandbox&#39;</span><span class="o">].</span><span class="n">to_dir</span><span class="o">.</span><span class="n">destroy</span></pre></div>
95
+ </td>
96
+ </tr>
97
+ </table>
98
+ </div>
99
+ </body>
@@ -0,0 +1,84 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html;charset=utf-8">
5
+ <title>ssh_basics.rb</title>
6
+ <link rel="stylesheet" href="http://jashkenas.github.com/docco/resources/docco.css">
7
+ </head>
8
+ <body>
9
+ <div id='container'>
10
+ <div id="background"></div>
11
+ <div id="jump_to">
12
+ Jump To &hellip;
13
+ <div id="jump_wrapper">
14
+ <div id="jump_page">
15
+ <a class="source" href="basics.html">basics.rb</a>
16
+ <a class="source" href="s3_backup.html">s3_backup.rb</a>
17
+ <a class="source" href="s3_basics.html">s3_basics.rb</a>
18
+ <a class="source" href="s3_sandbox.html">s3_sandbox.rb</a>
19
+ <a class="source" href="ssh_basics.html">ssh_basics.rb</a>
20
+ <a class="source" href="ssh_deployment.html">ssh_deployment.rb</a>
21
+ <a class="source" href="ssh_sandbox.html">ssh_sandbox.rb</a>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ <table cellspacing=0 cellpadding=0>
26
+ <thead>
27
+ <tr>
28
+ <th class=docs><h1>ssh_basics.rb</h1></th>
29
+ <th class=code></th>
30
+ </tr>
31
+ </thead>
32
+ <tbody>
33
+ <tr id='section-1'>
34
+ <td class=docs>
35
+ <div class="pilwrap">
36
+ <a class="pilcrow" href="#section-1">&#182;</a>
37
+ </div>
38
+ <p>Example of <a href="index.html">Virtual File System</a> working with SFTP.</p>
39
+
40
+ <p>This is exactly the same <a href="basics.html">basic example</a> but this time
41
+ we using SFTP as storage instead of local file system.</p>
42
+ </td>
43
+ <td class=code>
44
+ <div class='highlight'><pre></pre></div>
45
+ </td>
46
+ </tr>
47
+ <tr id='section-2'>
48
+ <td class=docs>
49
+ <div class="pilwrap">
50
+ <a class="pilcrow" href="#section-2">&#182;</a>
51
+ </div>
52
+ <p>Adding examples folder to load paths.</p>
53
+ </td>
54
+ <td class=code>
55
+ <div class='highlight'><pre><span class="vg">$LOAD_PATH</span> <span class="o">&lt;&lt;</span> <span class="no">File</span><span class="o">.</span><span class="n">expand_path</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">#{</span><span class="bp">__FILE__</span><span class="si">}</span><span class="s2">/../..&quot;</span><span class="p">)</span></pre></div>
56
+ </td>
57
+ </tr>
58
+ <tr id='section-3'>
59
+ <td class=docs>
60
+ <div class="pilwrap">
61
+ <a class="pilcrow" href="#section-3">&#182;</a>
62
+ </div>
63
+ <p>Connecting to SFTP and preparing sandbox. You may take a look at
64
+ the <a href="ssh_sandbox.html">docs/ssh_sandbox.rb</a> to see the actual code.</p>
65
+ </td>
66
+ <td class=code>
67
+ <div class='highlight'><pre><span class="nb">require</span> <span class="s1">&#39;docs/ssh_sandbox&#39;</span></pre></div>
68
+ </td>
69
+ </tr>
70
+ <tr id='section-4'>
71
+ <td class=docs>
72
+ <div class="pilwrap">
73
+ <a class="pilcrow" href="#section-4">&#182;</a>
74
+ </div>
75
+ <p>Now we just executig <a href="basics.html">basic example</a>
76
+ but with the <code>$storage</code> set to SFTP.</p>
77
+ </td>
78
+ <td class=code>
79
+ <div class='highlight'><pre><span class="nb">require</span> <span class="s1">&#39;docs/basics&#39;</span></pre></div>
80
+ </td>
81
+ </tr>
82
+ </table>
83
+ </div>
84
+ </body>
@@ -0,0 +1,125 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html;charset=utf-8">
5
+ <title>ssh_deployment.rb</title>
6
+ <link rel="stylesheet" href="http://jashkenas.github.com/docco/resources/docco.css">
7
+ </head>
8
+ <body>
9
+ <div id='container'>
10
+ <div id="background"></div>
11
+ <div id="jump_to">
12
+ Jump To &hellip;
13
+ <div id="jump_wrapper">
14
+ <div id="jump_page">
15
+ <a class="source" href="basics.html">basics.rb</a>
16
+ <a class="source" href="s3_backup.html">s3_backup.rb</a>
17
+ <a class="source" href="s3_basics.html">s3_basics.rb</a>
18
+ <a class="source" href="s3_sandbox.html">s3_sandbox.rb</a>
19
+ <a class="source" href="ssh_basics.html">ssh_basics.rb</a>
20
+ <a class="source" href="ssh_deployment.html">ssh_deployment.rb</a>
21
+ <a class="source" href="ssh_sandbox.html">ssh_sandbox.rb</a>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ <table cellspacing=0 cellpadding=0>
26
+ <thead>
27
+ <tr>
28
+ <th class=docs><h1>ssh_deployment.rb</h1></th>
29
+ <th class=code></th>
30
+ </tr>
31
+ </thead>
32
+ <tbody>
33
+ <tr id='section-1'>
34
+ <td class=docs>
35
+ <div class="pilwrap">
36
+ <a class="pilcrow" href="#section-1">&#182;</a>
37
+ </div>
38
+ <p>Example of Application Deployment using <a href="index.html">Virtual File System</a>.</p>
39
+
40
+ <p>In this example we uploading sample app files to remote server,
41
+ write database configuration file and restart the server on remote machine.</p>
42
+ </td>
43
+ <td class=code>
44
+ <div class='highlight'><pre></pre></div>
45
+ </td>
46
+ </tr>
47
+ <tr id='section-2'>
48
+ <td class=docs>
49
+ <div class="pilwrap">
50
+ <a class="pilcrow" href="#section-2">&#182;</a>
51
+ </div>
52
+ <p>Adding examples folder to load paths.</p>
53
+ </td>
54
+ <td class=code>
55
+ <div class='highlight'><pre><span class="vg">$LOAD_PATH</span> <span class="o">&lt;&lt;</span> <span class="no">File</span><span class="o">.</span><span class="n">expand_path</span><span class="p">(</span><span class="s2">&quot;</span><span class="si">#{</span><span class="bp">__FILE__</span><span class="si">}</span><span class="s2">/../..&quot;</span><span class="p">)</span></pre></div>
56
+ </td>
57
+ </tr>
58
+ <tr id='section-3'>
59
+ <td class=docs>
60
+ <div class="pilwrap">
61
+ <a class="pilcrow" href="#section-3">&#182;</a>
62
+ </div>
63
+ <p>Connecting to SFTP and preparing sandbox. You may take a look at
64
+ the <a href="ssh_sandbox.html">docs/ssh_sandbox.rb</a> to see the actual code.</p>
65
+ </td>
66
+ <td class=code>
67
+ <div class='highlight'><pre><span class="nb">require</span> <span class="s1">&#39;docs/ssh_sandbox&#39;</span>
68
+ <span class="n">sandbox</span> <span class="o">=</span> <span class="vg">$sandbox</span></pre></div>
69
+ </td>
70
+ </tr>
71
+ <tr id='section-4'>
72
+ <td class=docs>
73
+ <div class="pilwrap">
74
+ <a class="pilcrow" href="#section-4">&#182;</a>
75
+ </div>
76
+ <p>Preparing sample files located in our local folder in
77
+ current directory.</p>
78
+ </td>
79
+ <td class=code>
80
+ <div class='highlight'><pre><span class="n">current_dir</span> <span class="o">=</span> <span class="bp">__FILE__</span><span class="o">.</span><span class="n">to_entry</span><span class="o">.</span><span class="n">parent</span>
81
+ <span class="n">sample_app</span> <span class="o">=</span> <span class="n">current_dir</span><span class="o">[</span><span class="s1">&#39;ssh_deployment/app&#39;</span><span class="o">]</span></pre></div>
82
+ </td>
83
+ </tr>
84
+ <tr id='section-5'>
85
+ <td class=docs>
86
+ <div class="pilwrap">
87
+ <a class="pilcrow" href="#section-5">&#182;</a>
88
+ </div>
89
+ <p>Copying application files to remote machine.</p>
90
+ </td>
91
+ <td class=code>
92
+ <div class='highlight'><pre><span class="n">app</span> <span class="o">=</span> <span class="n">sandbox</span><span class="o">[</span><span class="s1">&#39;apps/app&#39;</span><span class="o">]</span>
93
+ <span class="n">sample_app</span><span class="o">.</span><span class="n">copy_to</span> <span class="n">app</span>
94
+ <span class="nb">p</span> <span class="n">app</span><span class="o">[</span><span class="s1">&#39;app.rb&#39;</span><span class="o">].</span><span class="n">exist?</span> <span class="c1"># =&gt; true</span></pre></div>
95
+ </td>
96
+ </tr>
97
+ <tr id='section-6'>
98
+ <td class=docs>
99
+ <div class="pilwrap">
100
+ <a class="pilcrow" href="#section-6">&#182;</a>
101
+ </div>
102
+ <p>Writing database configuration file.</p>
103
+ </td>
104
+ <td class=code>
105
+ <div class='highlight'><pre><span class="n">config</span> <span class="o">=</span> <span class="n">app</span><span class="o">[</span><span class="s1">&#39;config.yml&#39;</span><span class="o">]</span>
106
+ <span class="n">config</span><span class="o">.</span><span class="n">write</span> <span class="s2">&quot;database: mysql&quot;</span>
107
+ <span class="n">config</span><span class="o">.</span><span class="n">append</span> <span class="s2">&quot;name: app_production&quot;</span>
108
+ <span class="nb">p</span> <span class="n">app</span><span class="o">[</span><span class="s1">&#39;config.yml&#39;</span><span class="o">].</span><span class="n">exist?</span> <span class="c1"># =&gt; true</span></pre></div>
109
+ </td>
110
+ </tr>
111
+ <tr id='section-7'>
112
+ <td class=docs>
113
+ <div class="pilwrap">
114
+ <a class="pilcrow" href="#section-7">&#182;</a>
115
+ </div>
116
+ <p>Updating gems and restarting the server.</p>
117
+ </td>
118
+ <td class=code>
119
+ <div class='highlight'><pre><span class="nb">p</span> <span class="n">app</span><span class="o">.</span><span class="n">bash</span><span class="p">(</span><span class="s2">&quot;echo &#39;bundle install&#39;&quot;</span><span class="p">)</span> <span class="c1"># =&gt; bundle install</span>
120
+ <span class="nb">p</span> <span class="n">app</span><span class="o">.</span><span class="n">bash</span><span class="p">(</span><span class="s2">&quot;echo &#39;server start&#39;&quot;</span><span class="p">)</span> <span class="c1"># =&gt; server start</span></pre></div>
121
+ </td>
122
+ </tr>
123
+ </table>
124
+ </div>
125
+ </body>