rudder 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.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +16 -0
  5. data/.travis.yml +5 -0
  6. data/Gemfile +8 -0
  7. data/Gemfile.lock +53 -0
  8. data/LICENSE +21 -0
  9. data/README.md +101 -0
  10. data/Rakefile +24 -0
  11. data/bin/console +15 -0
  12. data/bin/setup +8 -0
  13. data/docker-compose.yml +26 -0
  14. data/docs/Rudder.html +382 -0
  15. data/docs/Rudder/DSL.html +456 -0
  16. data/docs/Rudder/DSL/Component.html +645 -0
  17. data/docs/Rudder/DSL/Group.html +733 -0
  18. data/docs/Rudder/DSL/Job.html +487 -0
  19. data/docs/Rudder/DSL/Pipeline.html +1869 -0
  20. data/docs/Rudder/DSL/Resource.html +584 -0
  21. data/docs/Rudder/DSL/ResourceType.html +223 -0
  22. data/docs/Rudder/DSL/Util.html +324 -0
  23. data/docs/_index.html +211 -0
  24. data/docs/class_list.html +51 -0
  25. data/docs/css/common.css +1 -0
  26. data/docs/css/full_list.css +58 -0
  27. data/docs/css/style.css +496 -0
  28. data/docs/file.README.html +191 -0
  29. data/docs/file_list.html +56 -0
  30. data/docs/frames.html +17 -0
  31. data/docs/index.html +191 -0
  32. data/docs/js/app.js +303 -0
  33. data/docs/js/full_list.js +216 -0
  34. data/docs/js/jquery.js +4 -0
  35. data/docs/method_list.html +347 -0
  36. data/docs/top-level-namespace.html +110 -0
  37. data/examples/README.md +6 -0
  38. data/examples/groups/README.md +12 -0
  39. data/examples/groups/groups_pipeline.rb +34 -0
  40. data/examples/groups/jobs/bash_stuff/date.rb +16 -0
  41. data/examples/groups/jobs/bash_stuff/hello.rb +17 -0
  42. data/examples/groups/jobs/git_stuff/log.rb +22 -0
  43. data/examples/groups/jobs/git_stuff/ls.rb +21 -0
  44. data/examples/groups/resources/rudder_git.rb +6 -0
  45. data/examples/groups/resources/timer.rb +5 -0
  46. data/examples/hello_world_pipeline.rb +44 -0
  47. data/examples/images/groups/groups_all.png +0 -0
  48. data/examples/images/groups/groups_bash_stuff.png +0 -0
  49. data/examples/images/groups/groups_git_stuff.png +0 -0
  50. data/examples/images/hello_world.png +0 -0
  51. data/examples/images/includes/includes.png +0 -0
  52. data/examples/images/shared/borrows.png +0 -0
  53. data/examples/images/shared/common.png +0 -0
  54. data/examples/images/shared/wrapper.png +0 -0
  55. data/examples/includes/README.md +7 -0
  56. data/examples/includes/includes_pipeline.rb +6 -0
  57. data/examples/includes/jobs/log.rb +15 -0
  58. data/examples/includes/resources/rudder_git.rb +5 -0
  59. data/examples/shared/README.md +21 -0
  60. data/examples/shared/borrows_pipeline.rb +31 -0
  61. data/examples/shared/common_pipeline.rb +34 -0
  62. data/examples/shared/wrapper_pipeline.rb +51 -0
  63. data/exe/rudder +52 -0
  64. data/lib/rudder.rb +35 -0
  65. data/lib/rudder/dsl.rb +54 -0
  66. data/lib/rudder/dsl/component.rb +79 -0
  67. data/lib/rudder/dsl/group.rb +110 -0
  68. data/lib/rudder/dsl/job.rb +65 -0
  69. data/lib/rudder/dsl/pipeline.rb +374 -0
  70. data/lib/rudder/dsl/resource.rb +82 -0
  71. data/lib/rudder/dsl/resource_type.rb +45 -0
  72. data/lib/rudder/dsl/util.rb +48 -0
  73. data/lib/rudder/version.rb +5 -0
  74. data/lib/tasks/docker.rb +11 -0
  75. data/rudder.gemspec +29 -0
  76. metadata +189 -0
@@ -0,0 +1,733 @@
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: Rudder::DSL::Group
8
+
9
+ &mdash; Documentation by YARD 0.9.20
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 = "Rudder::DSL::Group";
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 (G)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../Rudder.html" title="Rudder (module)">Rudder</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../DSL.html" title="Rudder::DSL (module)">DSL</a></span></span>
41
+ &raquo;
42
+ <span class="title">Group</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: Rudder::DSL::Group
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Object</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">Rudder::DSL::Group</li>
78
+
79
+ </ul>
80
+ <a href="#" class="inheritanceTree">show all</a>
81
+
82
+ </dd>
83
+ </dl>
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+ <dl>
96
+ <dt>Defined in:</dt>
97
+ <dd>lib/rudder/dsl/group.rb</dd>
98
+ </dl>
99
+
100
+ </div>
101
+
102
+ <h2>Overview</h2><div class="docstring">
103
+ <div class="discussion">
104
+
105
+ <p>Concourse group. Logically groups together Concourse jobs in the UI.</p>
106
+
107
+ <h2 id="label-DSL+Usage-3A">DSL Usage:</h2>
108
+
109
+ <p><span class='object_link'><a href="" title="Rudder::DSL::Group (class)">Group</a></span>&#39;s are the simplest element of any Concourse
110
+ Pipeline, defined by only a name and a non-empty list of jobs.</p>
111
+
112
+
113
+ </div>
114
+ </div>
115
+ <div class="tags">
116
+
117
+ <div class="examples">
118
+ <p class="tag_title">Examples:</p>
119
+
120
+
121
+ <pre class="example code"><code># Name&#39;s are typically set during initialization
122
+ group :my_awesome_group do # =&gt; Name is set to :my_awesome_group
123
+
124
+ # but the name may be changed post construction as well
125
+ group :not_the_best_name do # =&gt; Name initialized to :not_the_best_name
126
+ name :the_best_name
127
+ end # =&gt; but is set to :the_best_name after the block is executed</code></pre>
128
+
129
+
130
+ <pre class="example code"><code><span class='comment'># Job&#39;s are always set post construction. They can be added
131
+ </span><span class='comment'># individually:
132
+ </span><span class='id identifier rubyid_group'>group</span> <span class='symbol'>:my_awesome_group</span> <span class='kw'>do</span>
133
+ <span class='id identifier rubyid_job'>job</span> <span class='symbol'>:some_prereq</span>
134
+ <span class='id identifier rubyid_job'>job</span> <span class='symbol'>:my_awesome_work</span>
135
+ <span class='kw'>end</span> <span class='comment'># =&gt; group.jobs = [:some_prereq, :my_awesome_work]
136
+ </span>
137
+ <span class='comment'># and they can be added in collections
138
+ </span><span class='id identifier rubyid_group'>group</span> <span class='symbol'>:my_awesome_group</span> <span class='kw'>do</span>
139
+ <span class='id identifier rubyid_jobs'>jobs</span> <span class='symbol'>:a_job</span><span class='comma'>,</span> <span class='symbol'>:and_another</span><span class='comma'>,</span> <span class='symbol'>:and_one_more</span>
140
+ <span class='kw'>end</span> <span class='comment'># =&gt; group.jobs = [:a_job, :and_another, :and_one_more]</span></code></pre>
141
+
142
+ </div>
143
+
144
+
145
+ </div>
146
+
147
+
148
+
149
+
150
+
151
+
152
+
153
+ <h2>
154
+ Instance Method Summary
155
+ <small><a href="#" class="summary_toggle">collapse</a></small>
156
+ </h2>
157
+
158
+ <ul class="summary">
159
+
160
+ <li class="public ">
161
+ <span class="summary_signature">
162
+
163
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(name) &#x21d2; Group </a>
164
+
165
+
166
+
167
+ </span>
168
+
169
+
170
+ <span class="note title constructor">constructor</span>
171
+
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+ <span class="summary_desc"><div class='inline'>
180
+ <p>All <span class='object_link'><a href="" title="Rudder::DSL::Group (class)">Group</a></span>&#39;s require.</p>
181
+ </div></span>
182
+
183
+ </li>
184
+
185
+
186
+ <li class="public ">
187
+ <span class="summary_signature">
188
+
189
+ <a href="#job-instance_method" title="#job (instance method)">#<strong>job</strong>(job_name) &#x21d2; Set&lt;String, Symbol&gt; </a>
190
+
191
+
192
+
193
+ </span>
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+ <span class="summary_desc"><div class='inline'>
204
+ <p>Add a single job to the jobs list.</p>
205
+ </div></span>
206
+
207
+ </li>
208
+
209
+
210
+ <li class="public ">
211
+ <span class="summary_signature">
212
+
213
+ <a href="#jobs-instance_method" title="#jobs (instance method)">#<strong>jobs</strong>(*args) &#x21d2; Set&lt;String, Symbol&gt; </a>
214
+
215
+
216
+
217
+ </span>
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+ <span class="summary_desc"><div class='inline'>
228
+ <p>Adds all the jobs to the jobs list.</p>
229
+ </div></span>
230
+
231
+ </li>
232
+
233
+
234
+ <li class="public ">
235
+ <span class="summary_signature">
236
+
237
+ <a href="#name-instance_method" title="#name (instance method)">#<strong>name</strong>(name = nil) &#x21d2; String, Symbol </a>
238
+
239
+
240
+
241
+ </span>
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+ <span class="summary_desc"><div class='inline'>
252
+ <p>Replace&#39;s this <span class='object_link'><a href="" title="Rudder::DSL::Group (class)">Group</a></span>&#39;s name unless <code>name</code>
253
+ is nil.</p>
254
+ </div></span>
255
+
256
+ </li>
257
+
258
+
259
+ <li class="public ">
260
+ <span class="summary_signature">
261
+
262
+ <a href="#to_h-instance_method" title="#to_h (instance method)">#<strong>to_h</strong> &#x21d2; Hash </a>
263
+
264
+
265
+
266
+ </span>
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+ <span class="summary_desc"><div class='inline'>
277
+ <p>YAML friendly <code>Hash</code> representation of this resource.</p>
278
+ </div></span>
279
+
280
+ </li>
281
+
282
+
283
+ </ul>
284
+
285
+
286
+ <div id="constructor_details" class="method_details_list">
287
+ <h2>Constructor Details</h2>
288
+
289
+ <div class="method_details first">
290
+ <h3 class="signature first" id="initialize-instance_method">
291
+
292
+ #<strong>initialize</strong>(name) &#x21d2; <tt><span class='object_link'><a href="" title="Rudder::DSL::Group (class)">Group</a></span></tt>
293
+
294
+
295
+
296
+
297
+
298
+ </h3><div class="docstring">
299
+ <div class="discussion">
300
+
301
+ <p>All <span class='object_link'><a href="" title="Rudder::DSL::Group (class)">Rudder::DSL::Group</a></span>&#39;s require</p>
302
+ <ul><li>
303
+ <p>Name of the group</p>
304
+ </li><li>
305
+ <p>A list of jobs in the group</p>
306
+ </li></ul>
307
+
308
+ <p>Jobs are added after initilization.</p>
309
+
310
+
311
+ </div>
312
+ </div>
313
+ <div class="tags">
314
+ <p class="tag_title">Parameters:</p>
315
+ <ul class="param">
316
+
317
+ <li>
318
+
319
+ <span class='name'>the</span>
320
+
321
+
322
+ <span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
323
+
324
+
325
+
326
+ &mdash;
327
+ <div class='inline'>
328
+ <p>non-<code>nil</code> name of this group</p>
329
+ </div>
330
+
331
+ </li>
332
+
333
+ </ul>
334
+
335
+ <p class="tag_title">Raises:</p>
336
+ <ul class="raise">
337
+
338
+ <li>
339
+
340
+
341
+ <span class='type'>(<tt>ArgumentError</tt>)</span>
342
+
343
+
344
+
345
+ &mdash;
346
+ <div class='inline'>
347
+ <p>if <code>name</code> is +nil</p>
348
+ </div>
349
+
350
+ </li>
351
+
352
+ </ul>
353
+
354
+ </div><table class="source_code">
355
+ <tr>
356
+ <td>
357
+ <pre class="lines">
358
+
359
+
360
+ 53
361
+ 54
362
+ 55
363
+ 56
364
+ 57
365
+ 58</pre>
366
+ </td>
367
+ <td>
368
+ <pre class="code"><span class="info file"># File 'lib/rudder/dsl/group.rb', line 53</span>
369
+
370
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
371
+ <span class='id identifier rubyid_raise'>raise</span> <span class='kw'>super</span><span class='period'>.</span><span class='const'>ArgumentError</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Name cannot be nil</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
372
+
373
+ <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span>
374
+ <span class='ivar'>@jobs</span> <span class='op'>=</span> <span class='const'>Set</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
375
+ <span class='kw'>end</span></pre>
376
+ </td>
377
+ </tr>
378
+ </table>
379
+ </div>
380
+
381
+ </div>
382
+
383
+
384
+ <div id="instance_method_details" class="method_details_list">
385
+ <h2>Instance Method Details</h2>
386
+
387
+
388
+ <div class="method_details first">
389
+ <h3 class="signature first" id="job-instance_method">
390
+
391
+ #<strong>job</strong>(job_name) &#x21d2; <tt>Set&lt;String, Symbol&gt;</tt>
392
+
393
+
394
+
395
+
396
+
397
+ </h3><div class="docstring">
398
+ <div class="discussion">
399
+
400
+ <p>Add a single job to the jobs list</p>
401
+
402
+
403
+ </div>
404
+ </div>
405
+ <div class="tags">
406
+ <p class="tag_title">Parameters:</p>
407
+ <ul class="param">
408
+
409
+ <li>
410
+
411
+ <span class='name'>job_name</span>
412
+
413
+
414
+ <span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
415
+
416
+
417
+
418
+ &mdash;
419
+ <div class='inline'>
420
+ <p>to add to the jobs list</p>
421
+ </div>
422
+
423
+ </li>
424
+
425
+ </ul>
426
+
427
+ <p class="tag_title">Returns:</p>
428
+ <ul class="return">
429
+
430
+ <li>
431
+
432
+
433
+ <span class='type'>(<tt>Set&lt;String, Symbol&gt;</tt>)</span>
434
+
435
+
436
+
437
+ &mdash;
438
+ <div class='inline'>
439
+ <p>the latest list of jobs</p>
440
+ </div>
441
+
442
+ </li>
443
+
444
+ </ul>
445
+
446
+ </div><table class="source_code">
447
+ <tr>
448
+ <td>
449
+ <pre class="lines">
450
+
451
+
452
+ 78
453
+ 79
454
+ 80</pre>
455
+ </td>
456
+ <td>
457
+ <pre class="code"><span class="info file"># File 'lib/rudder/dsl/group.rb', line 78</span>
458
+
459
+ <span class='kw'>def</span> <span class='id identifier rubyid_job'>job</span><span class='lparen'>(</span><span class='id identifier rubyid_job_name'>job_name</span><span class='rparen'>)</span>
460
+ <span class='id identifier rubyid_jobs'>jobs</span> <span class='id identifier rubyid_job_name'>job_name</span>
461
+ <span class='kw'>end</span></pre>
462
+ </td>
463
+ </tr>
464
+ </table>
465
+ </div>
466
+
467
+ <div class="method_details ">
468
+ <h3 class="signature " id="jobs-instance_method">
469
+
470
+ #<strong>jobs</strong>(*args) &#x21d2; <tt>Set&lt;String, Symbol&gt;</tt>
471
+
472
+
473
+
474
+
475
+
476
+ </h3><div class="docstring">
477
+ <div class="discussion">
478
+
479
+ <p>Adds all the jobs to the jobs list</p>
480
+
481
+
482
+ </div>
483
+ </div>
484
+ <div class="tags">
485
+ <p class="tag_title">Parameters:</p>
486
+ <ul class="param">
487
+
488
+ <li>
489
+
490
+ <span class='name'>*args</span>
491
+
492
+
493
+ <span class='type'>(<tt>*String</tt>, <tt>*Symbol</tt>)</span>
494
+
495
+
496
+
497
+ &mdash;
498
+ <div class='inline'>
499
+ <p>collection of jobs to add to this <span class='object_link'><a href="" title="Rudder::DSL::Group (class)">Rudder::DSL::Group</a></span></p>
500
+ </div>
501
+
502
+ </li>
503
+
504
+ </ul>
505
+
506
+ <p class="tag_title">Returns:</p>
507
+ <ul class="return">
508
+
509
+ <li>
510
+
511
+
512
+ <span class='type'>(<tt>Set&lt;String, Symbol&gt;</tt>)</span>
513
+
514
+
515
+
516
+ &mdash;
517
+ <div class='inline'>
518
+ <p>the latest list of jobs</p>
519
+ </div>
520
+
521
+ </li>
522
+
523
+ </ul>
524
+
525
+ </div><table class="source_code">
526
+ <tr>
527
+ <td>
528
+ <pre class="lines">
529
+
530
+
531
+ 89
532
+ 90
533
+ 91
534
+ 92</pre>
535
+ </td>
536
+ <td>
537
+ <pre class="code"><span class="info file"># File 'lib/rudder/dsl/group.rb', line 89</span>
538
+
539
+ <span class='kw'>def</span> <span class='id identifier rubyid_jobs'>jobs</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span>
540
+ <span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_arg'>arg</span><span class='op'>|</span> <span class='ivar'>@jobs</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_arg'>arg</span> <span class='rbrace'>}</span>
541
+ <span class='ivar'>@jobs</span>
542
+ <span class='kw'>end</span></pre>
543
+ </td>
544
+ </tr>
545
+ </table>
546
+ </div>
547
+
548
+ <div class="method_details ">
549
+ <h3 class="signature " id="name-instance_method">
550
+
551
+ #<strong>name</strong>(name = nil) &#x21d2; <tt>String</tt>, <tt>Symbol</tt>
552
+
553
+
554
+
555
+
556
+
557
+ </h3><div class="docstring">
558
+ <div class="discussion">
559
+
560
+ <p>Replace&#39;s this <span class='object_link'><a href="" title="Rudder::DSL::Group (class)">Rudder::DSL::Group</a></span>&#39;s name unless <code>name</code>
561
+ is nil.</p>
562
+
563
+
564
+ </div>
565
+ </div>
566
+ <div class="tags">
567
+ <p class="tag_title">Parameters:</p>
568
+ <ul class="param">
569
+
570
+ <li>
571
+
572
+ <span class='name'>name</span>
573
+
574
+
575
+ <span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
576
+
577
+
578
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
579
+
580
+
581
+ &mdash;
582
+ <div class='inline'>
583
+ <p>the new name to use. Ignored if <code>nil</code>.</p>
584
+ </div>
585
+
586
+ </li>
587
+
588
+ </ul>
589
+
590
+ <p class="tag_title">Returns:</p>
591
+ <ul class="return">
592
+
593
+ <li>
594
+
595
+
596
+ <span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
597
+
598
+
599
+
600
+ &mdash;
601
+ <div class='inline'>
602
+ <p>the latest component name.</p>
603
+ </div>
604
+
605
+ </li>
606
+
607
+ </ul>
608
+
609
+ </div><table class="source_code">
610
+ <tr>
611
+ <td>
612
+ <pre class="lines">
613
+
614
+
615
+ 67
616
+ 68
617
+ 69
618
+ 70</pre>
619
+ </td>
620
+ <td>
621
+ <pre class="code"><span class="info file"># File 'lib/rudder/dsl/group.rb', line 67</span>
622
+
623
+ <span class='kw'>def</span> <span class='id identifier rubyid_name'>name</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
624
+ <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span> <span class='kw'>unless</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
625
+ <span class='ivar'>@name</span>
626
+ <span class='kw'>end</span></pre>
627
+ </td>
628
+ </tr>
629
+ </table>
630
+ </div>
631
+
632
+ <div class="method_details ">
633
+ <h3 class="signature " id="to_h-instance_method">
634
+
635
+ #<strong>to_h</strong> &#x21d2; <tt>Hash</tt>
636
+
637
+
638
+
639
+
640
+
641
+ </h3><div class="docstring">
642
+ <div class="discussion">
643
+
644
+ <p>Returns YAML friendly <code>Hash</code> representation of this resource</p>
645
+
646
+
647
+ </div>
648
+ </div>
649
+ <div class="tags">
650
+
651
+ <p class="tag_title">Returns:</p>
652
+ <ul class="return">
653
+
654
+ <li>
655
+
656
+
657
+ <span class='type'>(<tt>Hash</tt>)</span>
658
+
659
+
660
+
661
+ &mdash;
662
+ <div class='inline'>
663
+ <p>YAML friendly <code>Hash</code> representation of this resource</p>
664
+ </div>
665
+
666
+ </li>
667
+
668
+ </ul>
669
+ <p class="tag_title">Raises:</p>
670
+ <ul class="raise">
671
+
672
+ <li>
673
+
674
+
675
+ <span class='type'>(<tt>RuntimeError</tt>)</span>
676
+
677
+
678
+
679
+ &mdash;
680
+ <div class='inline'>
681
+ <p>if <code>name</code> is <code>nil</code> or <code>jobs</code> is empty</p>
682
+ </div>
683
+
684
+ </li>
685
+
686
+ </ul>
687
+
688
+ </div><table class="source_code">
689
+ <tr>
690
+ <td>
691
+ <pre class="lines">
692
+
693
+
694
+ 99
695
+ 100
696
+ 101
697
+ 102
698
+ 103
699
+ 104
700
+ 105
701
+ 106
702
+ 107</pre>
703
+ </td>
704
+ <td>
705
+ <pre class="code"><span class="info file"># File 'lib/rudder/dsl/group.rb', line 99</span>
706
+
707
+ <span class='kw'>def</span> <span class='id identifier rubyid_to_h'>to_h</span>
708
+ <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Groups require a name</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
709
+ <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Groups require at least 1 job</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>if</span> <span class='ivar'>@jobs</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
710
+
711
+ <span class='lbrace'>{</span>
712
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>name</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span>
713
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>jobs</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='ivar'>@jobs</span><span class='period'>.</span><span class='id identifier rubyid_to_a'>to_a</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:to_s</span><span class='rparen'>)</span>
714
+ <span class='rbrace'>}</span>
715
+ <span class='kw'>end</span></pre>
716
+ </td>
717
+ </tr>
718
+ </table>
719
+ </div>
720
+
721
+ </div>
722
+
723
+ </div>
724
+
725
+ <div id="footer">
726
+ Generated on Thu Aug 1 22:21:14 2019 by
727
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
728
+ 0.9.20 (ruby-2.5.1).
729
+ </div>
730
+
731
+ </div>
732
+ </body>
733
+ </html>