litterbox 0.1.0 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89858d05cb28335a94b13b770283980e1c7dfcfdafc576366a73804d952479d7
4
- data.tar.gz: eb76abdb9f0e9997e9e667bd8d2b07249db7b32756e3a30d01c9791e22eb0d57
3
+ metadata.gz: 8fb0171193357672cc975014418b463ab421caf11e1c28dc79dd1a9a046c14b7
4
+ data.tar.gz: 68f858f18b87a3d4de95a8883a03bd564428efe7379a0b4db600d548265a7b35
5
5
  SHA512:
6
- metadata.gz: 4a488804f1f04df21d028ec403328905ef066ef99b31b41a49891bd5f42eb40eab69d32008c792e7567de62334de4de2157113fd1c38c3a16c17d38690046d4d
7
- data.tar.gz: 8f0c29a918e6e1e9293024d1d3b78f8c7d3ed975a6b159eaa40534d30a77b9975674e770357eb45a1f985deb833fd6b900ff31f2f668f51599a11f47b791c833
6
+ metadata.gz: 36d2ca5b9d7bfd10d5ba19af9a5113f24490d8fe329bd8c26ac9b40cb84e54c128b561d13d1a9466c644728181d13c0db659a59f2300b5ddd8630629e38221c8
7
+ data.tar.gz: 4aa3118e489bb9a94df28c7694ba46ba3b39dd76d86a80aaba1452b359dc4a5bb5d36e0d6ea787a2f90d213f6c7c8077d59578826a22b1244fc9ef8a3d58576c
data/.gitignore CHANGED
@@ -1,11 +1,10 @@
1
1
  /.bundle/
2
- /.yardoc
3
- /_yardoc/
2
+ .yardoc/
4
3
  /coverage/
5
- /doc/
6
4
  /pkg/
7
5
  /spec/reports/
8
6
  /tmp/
7
+ doc/
9
8
 
10
9
  # rspec failure tracking
11
10
  .rspec_status
data/.rubocop.yml CHANGED
@@ -2,5 +2,12 @@
2
2
  AllCops:
3
3
  Exclude:
4
4
  - 'vendor/**/*'
5
- - 'spec/**/*'
5
+ - 'spec/**/*.rb'
6
6
  - 'tmp/**/*'
7
+
8
+ Metrics/MethodLength:
9
+ Max: 20
10
+
11
+ Metrics/LineLength:
12
+ Max: 120
13
+
data/.travis.yml CHANGED
@@ -1,8 +1,14 @@
1
- sudo: false
1
+ sudo: true
2
2
  language: ruby
3
3
  rvm:
4
4
  - 2.5.0
5
5
  before_install:
6
6
  - gem install bundler -v 1.16.1
7
+ - bundle install
7
8
  - curl https://raw.githubusercontent.com/habitat-sh/habitat/master/components/hab/install.sh | sudo bash
8
9
  - ./install_keys.sh
10
+
11
+ stages:
12
+ - name: deploy
13
+ if: branch = master
14
+ script: bundle exec rake release
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- litterbox (0.1.0)
4
+ litterbox (0.1.5)
5
5
  thor (~> 0.20.0)
6
6
 
7
7
  GEM
@@ -72,6 +72,7 @@ GEM
72
72
  shellany (0.0.1)
73
73
  thor (0.20.0)
74
74
  unicode-display_width (1.3.0)
75
+ yard (0.9.12)
75
76
 
76
77
  PLATFORMS
77
78
  ruby
@@ -85,6 +86,7 @@ DEPENDENCIES
85
86
  rspec (~> 3.0)
86
87
  rubocop (~> 0.52.1)
87
88
  rubyzip (~> 1.2.1)
89
+ yard
88
90
 
89
91
  BUNDLED WITH
90
92
  1.16.1
data/README.md CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  [![Build Status](https://travis-ci.org/skylerto/litterbox.svg?branch=master)](https://travis-ci.org/skylerto/litterbox)
4
4
 
5
- Some of the bits around the edge of Habitat, that I wish were available natively.
5
+ Habitat bindings in Ruby!
6
+
6
7
 
7
8
  ## Installation
8
9
 
@@ -22,6 +23,8 @@ Or install it yourself as:
22
23
 
23
24
  ## Usage
24
25
 
26
+ For API specific usage read the [docs](http://skylerlayne.me/litterbox/)
27
+
25
28
  ### Build
26
29
 
27
30
  ```
@@ -32,6 +35,9 @@ last_build = Litterbox.last_build("#{plan_dir}/results/last_build.env")
32
35
 
33
36
  ### Upload
34
37
 
38
+ Currently, the upload needs to be done on the platform that it's being built
39
+ from. This is due to a bit of a habitat bug see [habitat-sh/habitat/issues/5010](https://github.com/habitat-sh/habitat/issues/5010)
40
+
35
41
  ```
36
42
  hab = Litterbox::Habitat::Upload.new(
37
43
  File.join(plan_dir, 'results', last_build.pkg_artifact),
data/Rakefile CHANGED
@@ -1,8 +1,14 @@
1
1
  require 'bundler/gem_tasks'
2
2
  require 'rspec/core/rake_task'
3
+ require 'yard'
3
4
 
4
5
  RSpec::Core::RakeTask.new(:spec)
5
6
 
7
+ YARD::Rake::YardocTask.new do |t|
8
+ t.files = ['lib/**/*.rb']
9
+ t.options = ['--output-dir', 'docs']
10
+ end
11
+
6
12
  task :rubocop do
7
13
  sh 'rubocop'
8
14
  end
data/bin/litterbox CHANGED
@@ -2,4 +2,4 @@
2
2
 
3
3
  require 'litterbox'
4
4
 
5
- Litterbox::CLI.start( ARGV )
5
+ Litterbox::CLI.start(ARGV)
@@ -0,0 +1,354 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: Litterbox::CLI
8
+
9
+ &mdash; Documentation by YARD 0.9.12
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "Litterbox::CLI";
19
+ relpath = '../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../_index.html">Index (C)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../Litterbox.html" title="Litterbox (module)">Litterbox</a></span></span>
41
+ &raquo;
42
+ <span class="title">CLI</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: Litterbox::CLI
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Thor</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">Thor</li>
78
+
79
+ <li class="next">Litterbox::CLI</li>
80
+
81
+ </ul>
82
+ <a href="#" class="inheritanceTree">show all</a>
83
+
84
+ </dd>
85
+ </dl>
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ <dl>
98
+ <dt>Defined in:</dt>
99
+ <dd>lib/litterbox.rb</dd>
100
+ </dl>
101
+
102
+ </div>
103
+
104
+ <h2>Overview</h2><div class="docstring">
105
+ <div class="discussion">
106
+
107
+ <p>CLI for litterbox</p>
108
+
109
+
110
+ </div>
111
+ </div>
112
+ <div class="tags">
113
+
114
+
115
+ </div>
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+ <h2>
124
+ Instance Method Summary
125
+ <small><a href="#" class="summary_toggle">collapse</a></small>
126
+ </h2>
127
+
128
+ <ul class="summary">
129
+
130
+ <li class="public ">
131
+ <span class="summary_signature">
132
+
133
+ <a href="#build-instance_method" title="#build (instance method)">#<strong>build</strong>(path = &#39;.&#39;) &#x21d2; Object </a>
134
+
135
+
136
+
137
+ </span>
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+ <span class="summary_desc"><div class='inline'></div></span>
148
+
149
+ </li>
150
+
151
+
152
+ <li class="public ">
153
+ <span class="summary_signature">
154
+
155
+ <a href="#export-instance_method" title="#export (instance method)">#<strong>export</strong>(exporter = &#39;docker&#39;) &#x21d2; Object </a>
156
+
157
+
158
+
159
+ </span>
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+ <span class="summary_desc"><div class='inline'></div></span>
170
+
171
+ </li>
172
+
173
+
174
+ <li class="public ">
175
+ <span class="summary_signature">
176
+
177
+ <a href="#upload-instance_method" title="#upload (instance method)">#<strong>upload</strong>(path = find_last_build) &#x21d2; Object </a>
178
+
179
+
180
+
181
+ </span>
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+ <span class="summary_desc"><div class='inline'></div></span>
192
+
193
+ </li>
194
+
195
+
196
+ </ul>
197
+
198
+
199
+
200
+
201
+
202
+ <div id="instance_method_details" class="method_details_list">
203
+ <h2>Instance Method Details</h2>
204
+
205
+
206
+ <div class="method_details first">
207
+ <h3 class="signature first" id="build-instance_method">
208
+
209
+ #<strong>build</strong>(path = &#39;.&#39;) &#x21d2; <tt>Object</tt>
210
+
211
+
212
+
213
+
214
+
215
+ </h3><table class="source_code">
216
+ <tr>
217
+ <td>
218
+ <pre class="lines">
219
+
220
+
221
+ 16
222
+ 17
223
+ 18</pre>
224
+ </td>
225
+ <td>
226
+ <pre class="code"><span class="info file"># File 'lib/litterbox.rb', line 16</span>
227
+
228
+ <span class='kw'>def</span> <span class='id identifier rubyid_build'>build</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>.</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
229
+ <span class='const'><span class='object_link'><a href="../Litterbox.html" title="Litterbox (module)">Litterbox</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Habitat.html" title="Litterbox::Habitat (module)">Habitat</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Habitat/Build.html" title="Litterbox::Habitat::Build (class)">Build</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Habitat/Build.html#initialize-instance_method" title="Litterbox::Habitat::Build#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_build'><span class='object_link'><a href="Habitat/Build.html#build-instance_method" title="Litterbox::Habitat::Build#build (method)">build</a></span></span>
230
+ <span class='kw'>end</span></pre>
231
+ </td>
232
+ </tr>
233
+ </table>
234
+ </div>
235
+
236
+ <div class="method_details ">
237
+ <h3 class="signature " id="export-instance_method">
238
+
239
+ #<strong>export</strong>(exporter = &#39;docker&#39;) &#x21d2; <tt>Object</tt>
240
+
241
+
242
+
243
+
244
+
245
+ </h3><table class="source_code">
246
+ <tr>
247
+ <td>
248
+ <pre class="lines">
249
+
250
+
251
+ 38
252
+ 39
253
+ 40
254
+ 41
255
+ 42
256
+ 43
257
+ 44
258
+ 45
259
+ 46
260
+ 47
261
+ 48
262
+ 49
263
+ 50
264
+ 51</pre>
265
+ </td>
266
+ <td>
267
+ <pre class="code"><span class="info file"># File 'lib/litterbox.rb', line 38</span>
268
+
269
+ <span class='kw'>def</span> <span class='id identifier rubyid_export'>export</span><span class='lparen'>(</span><span class='id identifier rubyid_exporter'>exporter</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>docker</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
270
+ <span class='id identifier rubyid_path'>path</span> <span class='op'>||=</span> <span class='id identifier rubyid_find_last_build'>find_last_build</span>
271
+ <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Could not find last_build.env in </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_locations'>locations</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_path'>path</span>
272
+
273
+ <span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="../Litterbox.html#LAST_BUILD-constant" title="Litterbox::LAST_BUILD (constant)">LAST_BUILD</a></span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="../Litterbox.html#LAST_BUILD-constant" title="Litterbox::LAST_BUILD (constant)">LAST_BUILD</a></span></span><span class='rparen'>)</span>
274
+ <span class='id identifier rubyid_last_build'>last_build</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Litterbox.html" title="Litterbox (module)">Litterbox</a></span></span><span class='period'>.</span><span class='id identifier rubyid_last_build'><span class='object_link'><a href="../Litterbox.html#last_build-class_method" title="Litterbox.last_build (method)">last_build</a></span></span><span class='lparen'>(</span>
275
+ <span class='id identifier rubyid_path'>path</span>
276
+ <span class='rparen'>)</span>
277
+
278
+ <span class='const'><span class='object_link'><a href="../Litterbox.html" title="Litterbox (module)">Litterbox</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Habitat.html" title="Litterbox::Habitat (module)">Habitat</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Habitat/Export.html" title="Litterbox::Habitat::Export (class)">Export</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Habitat/Export.html#initialize-instance_method" title="Litterbox::Habitat::Export#initialize (method)">new</a></span></span><span class='lparen'>(</span>
279
+ <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='id identifier rubyid_plan_dir'>plan_dir</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>results</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_last_build'>last_build</span><span class='period'>.</span><span class='id identifier rubyid_pkg_artifact'>pkg_artifact</span><span class='rparen'>)</span><span class='comma'>,</span>
280
+ <span class='id identifier rubyid_exporter'>exporter</span>
281
+ <span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_upload'><span class='object_link'><a href="Habitat/Export.html#upload-instance_method" title="Litterbox::Habitat::Export#upload (method)">upload</a></span></span>
282
+ <span class='kw'>end</span></pre>
283
+ </td>
284
+ </tr>
285
+ </table>
286
+ </div>
287
+
288
+ <div class="method_details ">
289
+ <h3 class="signature " id="upload-instance_method">
290
+
291
+ #<strong>upload</strong>(path = find_last_build) &#x21d2; <tt>Object</tt>
292
+
293
+
294
+
295
+
296
+
297
+ </h3><table class="source_code">
298
+ <tr>
299
+ <td>
300
+ <pre class="lines">
301
+
302
+
303
+ 21
304
+ 22
305
+ 23
306
+ 24
307
+ 25
308
+ 26
309
+ 27
310
+ 28
311
+ 29
312
+ 30
313
+ 31
314
+ 32
315
+ 33
316
+ 34
317
+ 35</pre>
318
+ </td>
319
+ <td>
320
+ <pre class="code"><span class="info file"># File 'lib/litterbox.rb', line 21</span>
321
+
322
+ <span class='kw'>def</span> <span class='id identifier rubyid_upload'>upload</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='id identifier rubyid_find_last_build'>find_last_build</span><span class='rparen'>)</span>
323
+ <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Could not find last_build.env in </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_locations'>locations</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_path'>path</span>
324
+ <span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='comma'>,</span> <span class='const'><span class='object_link'><a href="../Litterbox.html#LAST_BUILD-constant" title="Litterbox::LAST_BUILD (constant)">LAST_BUILD</a></span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="../Litterbox.html#LAST_BUILD-constant" title="Litterbox::LAST_BUILD (constant)">LAST_BUILD</a></span></span><span class='rparen'>)</span>
325
+ <span class='id identifier rubyid_last_build'>last_build</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../Litterbox.html" title="Litterbox (module)">Litterbox</a></span></span><span class='period'>.</span><span class='id identifier rubyid_last_build'><span class='object_link'><a href="../Litterbox.html#last_build-class_method" title="Litterbox.last_build (method)">last_build</a></span></span><span class='lparen'>(</span>
326
+ <span class='id identifier rubyid_path'>path</span>
327
+ <span class='rparen'>)</span>
328
+ <span class='id identifier rubyid_plan_dir'>plan_dir</span> <span class='op'>=</span> <span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
329
+ <span class='id identifier rubyid_plan_dir'>plan_dir</span><span class='period'>.</span><span class='id identifier rubyid_slice!'>slice!</span> <span class='const'><span class='object_link'><a href="../Litterbox.html#LAST_BUILD-constant" title="Litterbox::LAST_BUILD (constant)">LAST_BUILD</a></span></span>
330
+ <span class='id identifier rubyid_artifact'>artifact</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='id identifier rubyid_plan_dir'>plan_dir</span><span class='comma'>,</span> <span class='id identifier rubyid_last_build'>last_build</span><span class='period'>.</span><span class='id identifier rubyid_pkg_artifact'>pkg_artifact</span><span class='rparen'>)</span>
331
+
332
+ <span class='const'><span class='object_link'><a href="../Litterbox.html" title="Litterbox (module)">Litterbox</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Habitat.html" title="Litterbox::Habitat (module)">Habitat</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Habitat/Upload.html" title="Litterbox::Habitat::Upload (class)">Upload</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Habitat/Upload.html#initialize-instance_method" title="Litterbox::Habitat::Upload#initialize (method)">new</a></span></span><span class='lparen'>(</span>
333
+ <span class='id identifier rubyid_artifact'>artifact</span><span class='comma'>,</span>
334
+ <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>HAB_AUTH_TOKEN</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span>
335
+ <span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_upload'><span class='object_link'><a href="Habitat/Upload.html#upload-instance_method" title="Litterbox::Habitat::Upload#upload (method)">upload</a></span></span>
336
+ <span class='kw'>end</span></pre>
337
+ </td>
338
+ </tr>
339
+ </table>
340
+ </div>
341
+
342
+ </div>
343
+
344
+ </div>
345
+
346
+ <div id="footer">
347
+ Generated on Wed May 2 10:27:51 2018 by
348
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
349
+ 0.9.12 (ruby-2.5.0).
350
+ </div>
351
+
352
+ </div>
353
+ </body>
354
+ </html>