digital_ocean 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +0 -1
- data/CHANGELOG.md +40 -0
- data/LICENSE.txt +1 -1
- data/README.md +114 -2
- data/digital_ocean.gemspec +1 -0
- data/doc/DigitalOcean/API.html +844 -0
- data/doc/DigitalOcean/AuthenticationMiddleware.html +342 -0
- data/doc/DigitalOcean/Resource/Base.html +206 -0
- data/doc/DigitalOcean/Resource/Droplet.html +1016 -0
- data/doc/DigitalOcean/Resource/Image.html +312 -0
- data/doc/DigitalOcean/Resource/Region.html +247 -0
- data/doc/DigitalOcean/Resource/SSHKey.html +312 -0
- data/doc/DigitalOcean/Resource/Size.html +208 -0
- data/doc/DigitalOcean/Resource.html +117 -0
- data/doc/DigitalOcean.html +131 -0
- data/doc/_index.html +213 -0
- data/doc/class_list.html +53 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +328 -0
- data/doc/file.README.html +402 -0
- data/doc/file_list.html +55 -0
- data/doc/frames.html +28 -0
- data/doc/index.html +402 -0
- data/doc/js/app.js +214 -0
- data/doc/js/full_list.js +173 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +332 -0
- data/doc/top-level-namespace.html +112 -0
- data/lib/digital_ocean/api.rb +28 -0
- data/lib/digital_ocean/resource/droplet.rb +2 -2
- data/lib/digital_ocean/resource/region.rb +3 -0
- data/lib/digital_ocean/version.rb +1 -1
- data/spec/api_spec.rb +8 -4
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_create/should_be_successful.yml +7 -5
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_create/should_return_droplet_id.yml +50 -0
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_delete/should_be_successful.yml +8 -6
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_disable_backups/should_be_successful.yml +8 -6
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_enable_backups/should_be_successful.yml +8 -6
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_list/should_be_successful.yml +7 -5
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_list/should_return_a_list_of_all_droplets.yml +7 -5
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/{_reset_root_password → _password_reset}/should_be_successful.yml +10 -9
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_power_cycle/should_be_successful.yml +8 -6
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_power_off/should_be_successful.yml +8 -6
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_power_on/should_be_successful.yml +8 -6
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_reboot/should_be_successful.yml +8 -6
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_rebuild/should_be_successful.yml +8 -6
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_resize/should_be_successful.yml +8 -6
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_restore/should_be_successful.yml +1 -1
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_show/should_be_successful.yml +6 -4
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_shutdown/should_be_successful.yml +8 -6
- data/spec/vcr/cassettes/DigitalOcean_API/_droplets/_snapshot/should_be_successful.yml +8 -6
- metadata +34 -7
@@ -0,0 +1,402 @@
|
|
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
|
+
File: README
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.3
|
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
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '';
|
20
|
+
framesUrl = "frames.html#!" + escape(window.location.href);
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="_index.html">Index</a> »
|
35
|
+
<span class="title">File: README</span>
|
36
|
+
|
37
|
+
|
38
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div id="search">
|
42
|
+
|
43
|
+
<a class="full_list_link" id="class_list_link"
|
44
|
+
href="class_list.html">
|
45
|
+
Class List
|
46
|
+
</a>
|
47
|
+
|
48
|
+
<a class="full_list_link" id="method_list_link"
|
49
|
+
href="method_list.html">
|
50
|
+
Method List
|
51
|
+
</a>
|
52
|
+
|
53
|
+
<a class="full_list_link" id="file_list_link"
|
54
|
+
href="file_list.html">
|
55
|
+
File List
|
56
|
+
</a>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<iframe id="search_frame"></iframe>
|
63
|
+
|
64
|
+
<div id="content"><div id='filecontents'><h1>DigitalOcean</h1>
|
65
|
+
|
66
|
+
<p><a href="https://travis-ci.org/rmoriz/digital_ocean"><img src="https://travis-ci.org/rmoriz/digital_ocean.png" alt="Build Status"></a>
|
67
|
+
<a href="https://gemnasium.com/rmoriz/digital_ocean"><img src="https://gemnasium.com/rmoriz/digital_ocean.png" height="13" /></a>
|
68
|
+
<a href="https://codeclimate.com/github/rmoriz/digital_ocean"><img src="https://codeclimate.com/github/rmoriz/digital_ocean.png" height="13" /></a></p>
|
69
|
+
|
70
|
+
<p>DigitalOcean provides simple cloud hosting. Create and delete
|
71
|
+
SSD-based virtual machines within seconds for a very affordable price.</p>
|
72
|
+
|
73
|
+
<p>Go to <a href="https://www.digitalocean.com/">https://www.digitalocean.com/</a> for more information.</p>
|
74
|
+
|
75
|
+
<p>This gem is a simple ruby wrapper for the <a href="https://api.digitalocean.com/">HTTP API of DigitalOcean</a> using
|
76
|
+
the great <a href="https://github.com/lostisland/faraday">Faraday</a> library.</p>
|
77
|
+
|
78
|
+
<p><strong><em>If you use <a href="http://www.opscode.com/">Opscode Chef</a> for DevOps, make sure to checkout my knife plugin <a href="https://github.com/rmoriz/knife-digital_ocean">knife-digital_ocean</a></em></strong></p>
|
79
|
+
|
80
|
+
<h2>Installation</h2>
|
81
|
+
|
82
|
+
<p>Add this line to your application's Gemfile:</p>
|
83
|
+
|
84
|
+
<pre class="code ruby"><code><span class='id identifier rubyid_gem'>gem</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>digital_ocean</span><span class='tstring_end'>'</span></span>
|
85
|
+
</code></pre>
|
86
|
+
|
87
|
+
<p>And then execute:</p>
|
88
|
+
|
89
|
+
<pre class="code ruby"><code>$ bundle
|
90
|
+
</code></pre>
|
91
|
+
|
92
|
+
<p>Or install it yourself as:</p>
|
93
|
+
|
94
|
+
<pre class="code ruby"><code>$ gem install digital_ocean
|
95
|
+
</code></pre>
|
96
|
+
|
97
|
+
<h2>Prerequisite: Create an account and API credentials</h2>
|
98
|
+
|
99
|
+
<p><a href="https://www.digitalocean.com/login"><img src="http://i.imgur.com/1iYdSFF.png" alt="Create API credentials"></a></p>
|
100
|
+
|
101
|
+
<h2>Usage</h2>
|
102
|
+
|
103
|
+
<h3>Examples</h3>
|
104
|
+
|
105
|
+
<pre class="code ruby"><code><span class='id identifier rubyid_require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>digital_ocean</span><span class='tstring_end'>'</span></span>
|
106
|
+
|
107
|
+
<span class='comment'># 1. create a client instance
|
108
|
+
</span><span class='comment'>#
|
109
|
+
</span><span class='id identifier rubyid_dc'>dc</span> <span class='op'>=</span> <span class='const'>DigitalOcean</span><span class='op'>::</span><span class='const'>API</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='symbol'>:client_id</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>YOUR_CLIENT_ID</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
110
|
+
<span class='symbol'>:api_key</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>YOUR_API_KEY</span><span class='tstring_end'>'</span></span>
|
111
|
+
|
112
|
+
<span class='comment'># 2. get all regions (server locations)
|
113
|
+
</span><span class='comment'>#
|
114
|
+
</span><span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='id identifier rubyid_dc'>dc</span><span class='period'>.</span><span class='id identifier rubyid_regions'>regions</span><span class='period'>.</span><span class='id identifier rubyid_list'>list</span>
|
115
|
+
<span class='id identifier rubyid_res'>res</span><span class='period'>.</span><span class='id identifier rubyid_regions'>regions</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='comment'># => 2
|
116
|
+
</span><span class='id identifier rubyid_res'>res</span><span class='period'>.</span><span class='id identifier rubyid_regions'>regions</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='comment'># => "New York 1"
|
117
|
+
</span>
|
118
|
+
<span class='comment'># 3. get all available machine types (sizes)
|
119
|
+
</span><span class='comment'>#
|
120
|
+
</span><span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='id identifier rubyid_dc'>dc</span><span class='period'>.</span><span class='id identifier rubyid_sizes'>sizes</span><span class='period'>.</span><span class='id identifier rubyid_list'>list</span>
|
121
|
+
<span class='id identifier rubyid_res'>res</span><span class='period'>.</span><span class='id identifier rubyid_sizes'>sizes</span>
|
122
|
+
<span class='comment'># => [#<Hashie::Rash id=66 name="512MB">,
|
123
|
+
</span><span class='comment'># #<Hashie::Rash id=63 name="1GB">,
|
124
|
+
</span><span class='comment'># #<Hashie::Rash id=62 name="2GB">,
|
125
|
+
</span><span class='comment'># #<Hashie::Rash id=64 name="4GB">,
|
126
|
+
</span><span class='comment'># #<Hashie::Rash id=65 name="8GB">,
|
127
|
+
</span><span class='comment'># #<Hashie::Rash id=61 name="16GB">,
|
128
|
+
</span><span class='comment'># #<Hashie::Rash id=60 name="32GB">,
|
129
|
+
</span><span class='comment'># #<Hashie::Rash id=70 name="48GB">,
|
130
|
+
</span><span class='comment'># #<Hashie::Rash id=69 name="64GB">,
|
131
|
+
</span><span class='comment'># #<Hashie::Rash id=68 name="96GB">]
|
132
|
+
</span>
|
133
|
+
<span class='comment'># 4. get all available images (e.g. OS-Images, snapshots, backups)
|
134
|
+
</span><span class='comment'>#
|
135
|
+
</span><span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='id identifier rubyid_dc'>dc</span><span class='period'>.</span><span class='id identifier rubyid_images'>images</span><span class='period'>.</span><span class='id identifier rubyid_list'>list</span>
|
136
|
+
<span class='id identifier rubyid_res'>res</span><span class='period'>.</span><span class='id identifier rubyid_images'>images</span>
|
137
|
+
<span class='comment'># => [#<Hashie::Rash distribution="CentOS" id=1601 name="CentOS 5.8 x64">,
|
138
|
+
</span><span class='comment'># #<Hashie::Rash distribution="CentOS" id=1602 name="CentOS 5.8 x32">,
|
139
|
+
</span><span class='comment'># ...
|
140
|
+
</span><span class='comment'># #<Hashie::Rash distribution="Ubuntu" id=2676 name="Ubuntu 12.04 x64 Server">,
|
141
|
+
</span><span class='comment'># ...
|
142
|
+
</span><span class='comment'># #<Hashie::Rash distribution="Ubuntu" id=25306 name="Ubuntu 12.10 x32 Server">,
|
143
|
+
</span><span class='comment'># ...]
|
144
|
+
</span>
|
145
|
+
<span class='comment'># 5. start a new instance (called droplet)
|
146
|
+
</span><span class='comment'>#
|
147
|
+
</span><span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='id identifier rubyid_dc'>dc</span><span class='period'>.</span><span class='id identifier rubyid_droplets'>droplets</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span> <span class='symbol'>:name</span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>new_hostname</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
148
|
+
<span class='symbol'>:size_id</span> <span class='op'>=></span> <span class='int'>64</span><span class='comma'>,</span>
|
149
|
+
<span class='symbol'>:image_id</span> <span class='op'>=></span> <span class='int'>2676</span><span class='comma'>,</span>
|
150
|
+
<span class='symbol'>:region_id</span> <span class='op'>=></span> <span class='int'>1</span>
|
151
|
+
|
152
|
+
<span class='comment'># 6. query droplet status (e.g. to get the IP of a droplet)
|
153
|
+
</span><span class='comment'>#
|
154
|
+
</span><span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='id identifier rubyid_dc'>dc</span><span class='period'>.</span><span class='id identifier rubyid_droplets'>droplets</span><span class='period'>.</span><span class='id identifier rubyid_list'>list</span>
|
155
|
+
<span class='id identifier rubyid_res'>res</span><span class='period'>.</span><span class='id identifier rubyid_droplets'>droplets</span>
|
156
|
+
<span class='comment'># => [#<Hashie::Rash backups_active=false id=123456
|
157
|
+
</span><span class='comment'># image_id=25306 ip_address="123.123.123.123"
|
158
|
+
</span><span class='comment'># name="new_hostname" region_id=1 size_id=64
|
159
|
+
</span><span class='comment'># status="active">]
|
160
|
+
</span>
|
161
|
+
</code></pre>
|
162
|
+
|
163
|
+
<p>see <code>spec/api_spec.rb</code> for more details and all implemented
|
164
|
+
resources.</p>
|
165
|
+
|
166
|
+
<h2>Features</h2>
|
167
|
+
|
168
|
+
<h3>DigitalOcean::API</h3>
|
169
|
+
|
170
|
+
<ul>
|
171
|
+
<li>.new
|
172
|
+
|
173
|
+
<ul>
|
174
|
+
<li>should return an instance when called with the essential parameters</li>
|
175
|
+
</ul></li>
|
176
|
+
<li>#droplets
|
177
|
+
|
178
|
+
<ul>
|
179
|
+
<li>#list
|
180
|
+
|
181
|
+
<ul>
|
182
|
+
<li>should be successful</li>
|
183
|
+
<li>should return a list of all droplets</li>
|
184
|
+
</ul></li>
|
185
|
+
<li>#show
|
186
|
+
|
187
|
+
<ul>
|
188
|
+
<li>should be successful</li>
|
189
|
+
</ul></li>
|
190
|
+
<li>#create
|
191
|
+
|
192
|
+
<ul>
|
193
|
+
<li>should be successful</li>
|
194
|
+
<li>should return a droplet.id</li>
|
195
|
+
</ul></li>
|
196
|
+
<li>#reboot
|
197
|
+
|
198
|
+
<ul>
|
199
|
+
<li>should be successful</li>
|
200
|
+
</ul></li>
|
201
|
+
<li>#power_cycle
|
202
|
+
|
203
|
+
<ul>
|
204
|
+
<li>should be successful</li>
|
205
|
+
</ul></li>
|
206
|
+
<li>#shutdown
|
207
|
+
|
208
|
+
<ul>
|
209
|
+
<li>should be successful</li>
|
210
|
+
</ul></li>
|
211
|
+
<li>#power_on
|
212
|
+
|
213
|
+
<ul>
|
214
|
+
<li>should be successful</li>
|
215
|
+
</ul></li>
|
216
|
+
<li>#power_off
|
217
|
+
|
218
|
+
<ul>
|
219
|
+
<li>should be successful</li>
|
220
|
+
</ul></li>
|
221
|
+
<li>#password_reset
|
222
|
+
|
223
|
+
<ul>
|
224
|
+
<li>should be successful</li>
|
225
|
+
</ul></li>
|
226
|
+
<li>#resize
|
227
|
+
|
228
|
+
<ul>
|
229
|
+
<li>should be successful</li>
|
230
|
+
</ul></li>
|
231
|
+
<li>#snapshot
|
232
|
+
|
233
|
+
<ul>
|
234
|
+
<li>should be successful</li>
|
235
|
+
</ul></li>
|
236
|
+
<li>#restore
|
237
|
+
|
238
|
+
<ul>
|
239
|
+
<li>should be successful</li>
|
240
|
+
</ul></li>
|
241
|
+
<li>#rebuild
|
242
|
+
|
243
|
+
<ul>
|
244
|
+
<li>should be successful</li>
|
245
|
+
</ul></li>
|
246
|
+
<li>#enable_backups
|
247
|
+
|
248
|
+
<ul>
|
249
|
+
<li>should be successful</li>
|
250
|
+
</ul></li>
|
251
|
+
<li>#disable_backups
|
252
|
+
|
253
|
+
<ul>
|
254
|
+
<li>should be successful</li>
|
255
|
+
</ul></li>
|
256
|
+
<li>#delete
|
257
|
+
#<Hashie::Rash event_id=594739 status="OK">
|
258
|
+
|
259
|
+
<ul>
|
260
|
+
<li>should be successful</li>
|
261
|
+
</ul></li>
|
262
|
+
</ul></li>
|
263
|
+
<li>#sizes
|
264
|
+
|
265
|
+
<ul>
|
266
|
+
<li>#list
|
267
|
+
|
268
|
+
<ul>
|
269
|
+
<li>should be successful</li>
|
270
|
+
<li>should return a list of all droplet sizes</li>
|
271
|
+
<li>should return the correct ID for the 96GB size</li>
|
272
|
+
</ul></li>
|
273
|
+
</ul></li>
|
274
|
+
<li>#regions
|
275
|
+
|
276
|
+
<ul>
|
277
|
+
<li>#list
|
278
|
+
|
279
|
+
<ul>
|
280
|
+
<li>should be successful</li>
|
281
|
+
<li>should return a list of all regions</li>
|
282
|
+
</ul></li>
|
283
|
+
</ul></li>
|
284
|
+
<li>#ssh_keys
|
285
|
+
|
286
|
+
<ul>
|
287
|
+
<li>#list
|
288
|
+
|
289
|
+
<ul>
|
290
|
+
<li>should be successful</li>
|
291
|
+
<li>should return a list of all SSH keys</li>
|
292
|
+
</ul></li>
|
293
|
+
<li>#show
|
294
|
+
|
295
|
+
<ul>
|
296
|
+
<li>valid</li>
|
297
|
+
<li>should be successful</li>
|
298
|
+
<li>should return the public keykey</li>
|
299
|
+
<li>invalid</li>
|
300
|
+
<li>should not be successful</li>
|
301
|
+
</ul></li>
|
302
|
+
<li>#add
|
303
|
+
|
304
|
+
<ul>
|
305
|
+
<li>does not work, ask digitalocean to fix (PENDING: No reason given)</li>
|
306
|
+
<li>should be successful (PENDING: Temporarily disabled with xit)</li>
|
307
|
+
</ul></li>
|
308
|
+
<li>#edit
|
309
|
+
|
310
|
+
<ul>
|
311
|
+
<li>does not work, ask digitalocean to fix (PENDING: No reason given)</li>
|
312
|
+
</ul></li>
|
313
|
+
<li>#delete
|
314
|
+
|
315
|
+
<ul>
|
316
|
+
<li>should be successful</li>
|
317
|
+
</ul></li>
|
318
|
+
</ul></li>
|
319
|
+
<li>#images
|
320
|
+
|
321
|
+
<ul>
|
322
|
+
<li>#list
|
323
|
+
|
324
|
+
<ul>
|
325
|
+
<li>without filter</li>
|
326
|
+
<li>should be successful</li>
|
327
|
+
<li>should return a list of all images</li>
|
328
|
+
<li>with filter: global</li>
|
329
|
+
<li>should be successful</li>
|
330
|
+
<li>should return global images</li>
|
331
|
+
<li>with filter: my_images</li>
|
332
|
+
<li>should be successful</li>
|
333
|
+
<li>should return my_images</li>
|
334
|
+
</ul></li>
|
335
|
+
<li>#show
|
336
|
+
|
337
|
+
<ul>
|
338
|
+
<li>valid</li>
|
339
|
+
<li>should be successful</li>
|
340
|
+
<li>should return the image</li>
|
341
|
+
<li>invalid</li>
|
342
|
+
<li>should not be successful</li>
|
343
|
+
</ul></li>
|
344
|
+
<li>#delete
|
345
|
+
|
346
|
+
<ul>
|
347
|
+
<li>valid</li>
|
348
|
+
<li>should be successful (PENDING: does not work, ask digitalocean to fix)</li>
|
349
|
+
<li>invalid</li>
|
350
|
+
<li>should not be successful</li>
|
351
|
+
</ul></li>
|
352
|
+
</ul></li>
|
353
|
+
</ul>
|
354
|
+
|
355
|
+
<h3>DigitalOcean</h3>
|
356
|
+
|
357
|
+
<ul>
|
358
|
+
<li>should have a version number</li>
|
359
|
+
</ul>
|
360
|
+
|
361
|
+
<h2>Contributing</h2>
|
362
|
+
|
363
|
+
<ol>
|
364
|
+
<li>Fork it</li>
|
365
|
+
<li>Create your feature branch (<code>git checkout -b my-new-feature</code>)</li>
|
366
|
+
<li>Commit your changes (<code>git commit -am 'Add some feature'</code>)</li>
|
367
|
+
<li>Push to the branch (<code>git push origin my-new-feature</code>)</li>
|
368
|
+
<li>Create new Pull Request</li>
|
369
|
+
</ol>
|
370
|
+
|
371
|
+
<h3>Contributors</h3>
|
372
|
+
|
373
|
+
<ul>
|
374
|
+
<li> <a href="https://github.com/joshfng">joshfng</a> </li>
|
375
|
+
<li> <a href="https://github.com/willglynn">willglynn</a> </li>
|
376
|
+
</ul>
|
377
|
+
|
378
|
+
<p>For more information and a complete list see <a href="https://github.com/rmoriz/digital_ocean/contributors">the contributor page on GitHub</a>.</p>
|
379
|
+
|
380
|
+
<h2>License</h2>
|
381
|
+
|
382
|
+
<p>MIT</p>
|
383
|
+
|
384
|
+
<h2>Commercial Support</h2>
|
385
|
+
|
386
|
+
<p>Commercial support is available. Please contact <a href="https://roland.io/">https://roland.io/</a> or <a href="http://moriz.com/">http://moriz.com/</a></p>
|
387
|
+
|
388
|
+
<h2>Copyright</h2>
|
389
|
+
|
390
|
+
<p>Copyright © 2013 <a href="https://roland.io">Roland Moriz</a>, <a href="https://moriz.de/">Moriz GmbH</a></p>
|
391
|
+
|
392
|
+
<p><a href="http://www.linkedin.com/in/rmoriz"><img src="http://www.linkedin.com/img/webpromo/btn_viewmy_160x25.png" alt="LinkedIn"></a></p>
|
393
|
+
</div></div>
|
394
|
+
|
395
|
+
<div id="footer">
|
396
|
+
Generated on Wed Feb 20 12:33:48 2013 by
|
397
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
398
|
+
0.8.3 (ruby-1.9.3).
|
399
|
+
</div>
|
400
|
+
|
401
|
+
</body>
|
402
|
+
</html>
|
data/doc/file_list.html
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
|
7
|
+
<link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
|
8
|
+
|
9
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
14
|
+
|
15
|
+
<script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
|
16
|
+
|
17
|
+
|
18
|
+
<base id="base_target" target="_parent" />
|
19
|
+
</head>
|
20
|
+
<body>
|
21
|
+
<script type="text/javascript" charset="utf-8">
|
22
|
+
if (window.top.frames.main) {
|
23
|
+
document.getElementById('base_target').target = 'main';
|
24
|
+
document.body.className = 'frames';
|
25
|
+
}
|
26
|
+
</script>
|
27
|
+
<div id="content">
|
28
|
+
<h1 id="full_list_header">File List</h1>
|
29
|
+
<div id="nav">
|
30
|
+
|
31
|
+
<span><a target="_self" href="class_list.html">
|
32
|
+
Classes
|
33
|
+
</a></span>
|
34
|
+
|
35
|
+
<span><a target="_self" href="method_list.html">
|
36
|
+
Methods
|
37
|
+
</a></span>
|
38
|
+
|
39
|
+
<span><a target="_self" href="file_list.html">
|
40
|
+
Files
|
41
|
+
</a></span>
|
42
|
+
|
43
|
+
</div>
|
44
|
+
<div id="search">Search: <input type="text" /></div>
|
45
|
+
|
46
|
+
<ul id="full_list" class="file">
|
47
|
+
|
48
|
+
|
49
|
+
<li class="r1"><a href="index.html" title="README">README</a></li>
|
50
|
+
|
51
|
+
|
52
|
+
</ul>
|
53
|
+
</div>
|
54
|
+
</body>
|
55
|
+
</html>
|
data/doc/frames.html
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
3
|
+
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
|
+
<head>
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
7
|
+
<title>Documentation by YARD 0.8.3</title>
|
8
|
+
</head>
|
9
|
+
<script type="text/javascript" charset="utf-8">
|
10
|
+
window.onload = function() {
|
11
|
+
var match = window.location.hash.match(/^#!(.+)/);
|
12
|
+
var name = 'index.html';
|
13
|
+
if (match) {
|
14
|
+
name = unescape(match[1]);
|
15
|
+
}
|
16
|
+
document.writeln('<frameset cols="20%,*">' +
|
17
|
+
'<frame name="list" src="class_list.html" />' +
|
18
|
+
'<frame name="main" src="' + name + '" />' +
|
19
|
+
'</frameset>');
|
20
|
+
}
|
21
|
+
</script>
|
22
|
+
<noscript>
|
23
|
+
<frameset cols="20%,*">
|
24
|
+
<frame name="list" src="class_list.html" />
|
25
|
+
<frame name="main" src="index.html" />
|
26
|
+
</frameset>
|
27
|
+
</noscript>
|
28
|
+
</html>
|