puppet-strings 2.4.0 → 2.5.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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -2
  3. data/lib/puppet-strings.rb +2 -2
  4. data/lib/puppet-strings/markdown.rb +1 -1
  5. data/lib/puppet-strings/markdown/base.rb +6 -0
  6. data/lib/puppet-strings/markdown/data_type.rb +16 -0
  7. data/lib/puppet-strings/markdown/resource_type.rb +19 -2
  8. data/lib/puppet-strings/markdown/templates/classes_and_defines.erb +4 -4
  9. data/lib/puppet-strings/markdown/templates/data_type.erb +11 -4
  10. data/lib/puppet-strings/markdown/templates/data_type_function.erb +67 -0
  11. data/lib/puppet-strings/markdown/templates/function.erb +2 -1
  12. data/lib/puppet-strings/markdown/templates/puppet_task.erb +1 -1
  13. data/lib/puppet-strings/markdown/templates/resource_type.erb +12 -12
  14. data/lib/puppet-strings/markdown/templates/table_of_contents.erb +6 -6
  15. data/lib/puppet-strings/version.rb +1 -1
  16. data/lib/puppet-strings/yard/code_objects/data_type.rb +26 -6
  17. data/lib/puppet-strings/yard/code_objects/type.rb +46 -5
  18. data/lib/puppet-strings/yard/handlers/ruby/data_type_handler.rb +190 -43
  19. data/lib/puppet-strings/yard/handlers/ruby/type_base.rb +6 -0
  20. data/lib/puppet-strings/yard/handlers/ruby/type_extras_handler.rb +1 -1
  21. data/lib/puppet-strings/yard/handlers/ruby/type_handler.rb +6 -0
  22. data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/method_details_list.erb +6 -0
  23. data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/setup.rb +9 -1
  24. data/lib/puppet-strings/yard/templates/default/puppet_type/html/setup.rb +3 -1
  25. metadata +4 -46
  26. data/CODEOWNERS +0 -1
  27. data/Gemfile +0 -53
  28. data/HISTORY.md +0 -218
  29. data/JSON.md +0 -832
  30. data/Rakefile +0 -160
  31. data/codecov.yml +0 -3
  32. data/misc/ANNOUNCEMENT_TEMPLATE.md +0 -40
  33. data/spec/acceptance/emit_json_options_spec.rb +0 -69
  34. data/spec/acceptance/generate_markdown_spec.rb +0 -47
  35. data/spec/acceptance/running_strings_generate_spec.rb +0 -88
  36. data/spec/fixtures/acceptance/modules/test/functions/add.pp +0 -9
  37. data/spec/fixtures/acceptance/modules/test/lib/puppet/functions/4x_function.rb +0 -5
  38. data/spec/fixtures/acceptance/modules/test/lib/puppet/parser/functions/function3x.rb +0 -2
  39. data/spec/fixtures/acceptance/modules/test/lib/puppet/provider/server/linux.rb +0 -9
  40. data/spec/fixtures/acceptance/modules/test/lib/puppet/type/database.rb +0 -15
  41. data/spec/fixtures/acceptance/modules/test/manifests/init.pp +0 -31
  42. data/spec/fixtures/acceptance/modules/test/manifests/triple_nested_classes.pp +0 -27
  43. data/spec/fixtures/acceptance/modules/test/metadata.json +0 -10
  44. data/spec/fixtures/acceptance/modules/test/types/elephant.pp +0 -2
  45. data/spec/fixtures/unit/markdown/output.md +0 -561
  46. data/spec/fixtures/unit/markdown/output_with_data_types.md +0 -606
  47. data/spec/fixtures/unit/markdown/output_with_plan.md +0 -595
  48. data/spec/spec_helper.rb +0 -49
  49. data/spec/spec_helper_acceptance.rb +0 -58
  50. data/spec/spec_helper_acceptance_local.rb +0 -10
  51. data/spec/unit/puppet-strings/describe_spec.rb +0 -141
  52. data/spec/unit/puppet-strings/json_spec.rb +0 -302
  53. data/spec/unit/puppet-strings/markdown/base_spec.rb +0 -146
  54. data/spec/unit/puppet-strings/markdown_spec.rb +0 -374
  55. data/spec/unit/puppet-strings/yard/code_objects/task_spec.rb +0 -92
  56. data/spec/unit/puppet-strings/yard/handlers/json/task_handler_spec.rb +0 -116
  57. data/spec/unit/puppet-strings/yard/handlers/puppet/class_handler_spec.rb +0 -217
  58. data/spec/unit/puppet-strings/yard/handlers/puppet/data_type_alias_handler_spec.rb +0 -65
  59. data/spec/unit/puppet-strings/yard/handlers/puppet/defined_type_handler_spec.rb +0 -231
  60. data/spec/unit/puppet-strings/yard/handlers/puppet/function_handler_spec.rb +0 -315
  61. data/spec/unit/puppet-strings/yard/handlers/ruby/data_type_handler_spec.rb +0 -309
  62. data/spec/unit/puppet-strings/yard/handlers/ruby/function_handler_spec.rb +0 -746
  63. data/spec/unit/puppet-strings/yard/handlers/ruby/provider_handler_spec.rb +0 -158
  64. data/spec/unit/puppet-strings/yard/handlers/ruby/rsapi_handler_spec.rb +0 -235
  65. data/spec/unit/puppet-strings/yard/handlers/ruby/type_handler_spec.rb +0 -311
  66. data/spec/unit/puppet-strings/yard/parsers/json/parser_spec.rb +0 -72
  67. data/spec/unit/puppet-strings/yard/parsers/json/task_statement_spec.rb +0 -56
  68. data/spec/unit/puppet-strings/yard/parsers/puppet/parser_spec.rb +0 -251
  69. data/spec/unit/puppet-strings/yard/util_spec.rb +0 -48
@@ -1,31 +0,0 @@
1
- # Class: test
2
- #
3
- # This class exists to serve as fixture data for testing the puppet strings face
4
- #
5
- # @example
6
- # class { "test": }
7
- #
8
- # @param package_name The name of the package
9
- # @param service_name The name of the service
10
- # @param myenum
11
- # @enum myenum a Option A
12
- # @enum myenum b Option B
13
- class test (
14
- $package_name = $test::params::package_name,
15
- $service_name = $test::params::service_name,
16
- Enum['a', 'b'] $myenum = 'a',
17
-
18
- ) inherits test::params {
19
-
20
- # validate parameters here
21
-
22
- class { 'test::install': } ->
23
- class { 'test::config': } ~>
24
- class { 'test::service': } ->
25
- Class['test']
26
-
27
- File {
28
- owner => 'user',
29
- path => 'some/file/path',
30
- }
31
- }
@@ -1,27 +0,0 @@
1
- # Testing tested classes
2
- # docs stuff
3
- # @param nameservers [String] Don't ask me what this does!
4
- # @param default_lease_time [Integer[1024, 8192]] text goes here
5
- # @param max_lease_time does stuff
6
- class outer (
7
- $dnsdomain,
8
- $nameservers,
9
- $default_lease_time = 3600,
10
- $max_lease_time = 86400
11
- ) {
12
- # @param options [String[5,7]] gives user choices
13
- # @param multicast [Boolean] foobar
14
- # @param servers yep, that's right
15
- class middle (
16
- $options = "iburst",
17
- $servers,
18
- $multicast = false
19
- ) {
20
- class inner (
21
- $choices = "uburst",
22
- $secenekler = "weallburst",
23
- $boxen,
24
- $manyspell = true
25
- ) {}
26
- }
27
- }
@@ -1,10 +0,0 @@
1
- {
2
- "name": "username-test",
3
- "version": "0.0.1",
4
- "author": "username",
5
- "summary": "brief summary",
6
- "license": "MIT",
7
- "source": "git://github.com/not_a/real_repo.git",
8
- "dependencies": [
9
- ]
10
- }
@@ -1,2 +0,0 @@
1
- # A simple elephant type.
2
- type Test::Elephant = String[2]
@@ -1,561 +0,0 @@
1
- # Reference
2
- <!-- DO NOT EDIT: This document was generated by Puppet Strings -->
3
-
4
- ## Table of Contents
5
-
6
- **Classes**
7
-
8
- _Public Classes_
9
-
10
- * [`klass`](#klass): A simple class.
11
-
12
- _Private Classes_
13
-
14
- * `noparams`: Overview for class noparams
15
-
16
- **Defined types**
17
-
18
- * [`klass::dt`](#klassdt): A simple defined type.
19
-
20
- **Resource types**
21
-
22
- * [`apt_key`](#apt_key): Example resource type using the new API.
23
- * [`database`](#database): An example database server type.
24
-
25
- **Functions**
26
-
27
- * [`func`](#func): A simple Puppet function.
28
- * [`func3x`](#func3x): Documentation for an example 3.x function.
29
- * [`func4x`](#func4x): An example 4.x function.
30
- * [`func4x_1`](#func4x_1): An example 4.x function with only one signature.
31
-
32
- **Tasks**
33
-
34
- * [`(stdin)`](#(stdin)): Allows you to backup your database to local file.
35
-
36
- ## Classes
37
-
38
- ### klass
39
-
40
- An overview for a simple class.
41
-
42
- * **TODO** Do a thing
43
-
44
- * **Note** some note
45
-
46
- * **Since** 1.0.0
47
-
48
- * **See also**
49
- www.puppet.com
50
-
51
- #### Examples
52
-
53
- ##### This is an example
54
-
55
- ```puppet
56
- class { 'klass':
57
- param1 => 1,
58
- param3 => 'foo',
59
- }
60
- ```
61
-
62
- ##### This is another example
63
-
64
- ```puppet
65
- class { 'klass':
66
- param1 => 1,
67
- param3 => 'foo',
68
- }
69
- ```
70
-
71
- #### Parameters
72
-
73
- The following parameters are available in the `klass` class.
74
-
75
- ##### `param1`
76
-
77
- Data type: `Integer`
78
-
79
- First param.
80
-
81
- Default value: 1
82
-
83
- ##### `param2`
84
-
85
- Data type: `Any`
86
-
87
- Second param.
88
-
89
- Options:
90
-
91
- * **:opt1** `String`: something about opt1
92
- * **:opt2** `Hash`: a hash of stuff
93
-
94
- Default value: `undef`
95
-
96
- ##### `param3`
97
-
98
- Data type: `String`
99
-
100
- Third param.
101
-
102
- Default value: 'hi'
103
-
104
- ##### `param4`
105
-
106
- Data type: `Enum['one', 'two']`
107
-
108
- Fourth param.
109
-
110
- Options:
111
-
112
- * **:one**: One option
113
- * **:two**: Second option
114
-
115
- Default value: 'two'
116
-
117
- ## Defined types
118
-
119
- ### klass::dt
120
-
121
- An overview for a simple defined type.
122
-
123
- * **Since** 1.1.0
124
-
125
- * **See also**
126
- www.puppet.com
127
-
128
- #### Examples
129
-
130
- ##### Here's an example of this type:
131
-
132
- ```puppet
133
- klass::dt { 'foo':
134
- param1 => 33,
135
- param4 => false,
136
- }
137
- ```
138
-
139
- #### Parameters
140
-
141
- The following parameters are available in the `klass::dt` defined type.
142
-
143
- ##### `param1`
144
-
145
- Data type: `Integer`
146
-
147
- First param.
148
-
149
- Default value: 44
150
-
151
- ##### `param2`
152
-
153
- Data type: `Any`
154
-
155
- Second param.
156
-
157
- Options:
158
-
159
- * **:opt1** `String`: something about opt1
160
- * **:opt2** `Hash`: a hash of stuff
161
-
162
- ##### `param3`
163
-
164
- Data type: `String`
165
-
166
- Third param.
167
-
168
- Default value: 'hi'
169
-
170
- ##### `param4`
171
-
172
- Data type: `Boolean`
173
-
174
- Fourth param.
175
-
176
- Default value: `true`
177
-
178
- ##### `param5`
179
-
180
- Data type: `Enum['a', 'b']`
181
-
182
- Fifth param.
183
-
184
- Options:
185
-
186
- * **:a**: Option A
187
- * **:b**: Option B
188
-
189
- Default value: 'a'
190
-
191
- ## Resource types
192
-
193
- ### apt_key
194
-
195
- This type provides Puppet with the capabilities to manage GPG keys needed
196
- by apt to perform package validation. Apt has it's own GPG keyring that can
197
- be manipulated through the `apt-key` command.
198
- **Autorequires**:
199
- If Puppet is given the location of a key file which looks like an absolute
200
- path this type will autorequire that file.
201
-
202
- #### Examples
203
-
204
- ##### here's an example
205
-
206
- ```puppet
207
- apt_key { '6F6B15509CF8E59E6E469F327F438280EF8D349F':
208
- source => 'http://apt.puppetlabs.com/pubkey.gpg'
209
- }
210
- ```
211
-
212
- #### Properties
213
-
214
- The following properties are available in the `apt_key` type.
215
-
216
- ##### `ensure`
217
-
218
- Data type: `Enum[present, absent]`
219
-
220
- Whether this apt key should be present or absent on the target system.
221
-
222
- ##### `created`
223
-
224
- Data type: `String`
225
-
226
- Date the key was created, in ISO format.
227
-
228
- #### Parameters
229
-
230
- The following parameters are available in the `apt_key` type.
231
-
232
- ##### `id`
233
-
234
- namevar
235
-
236
- Data type: `Variant[Pattern[/A(0x)?[0-9a-fA-F]{8}Z/], Pattern[/A(0x)?[0-9a-fA-F]{16}Z/], Pattern[/A(0x)?[0-9a-fA-F]{40}Z/]]`
237
- _*this data type contains a regex that may not be accurately reflected in generated documentation_
238
-
239
- The ID of the key you want to manage.
240
-
241
- ### database
242
-
243
- An example database server type.
244
-
245
- #### Examples
246
-
247
- ##### here's an example
248
-
249
- ```puppet
250
- database { 'foo':
251
- address => 'qux.baz.bar',
252
- }
253
- ```
254
-
255
- #### Properties
256
-
257
- The following properties are available in the `database` type.
258
-
259
- ##### `ensure`
260
-
261
- Valid values: present, absent, up, down
262
-
263
- Aliases: "up"=>"present", "down"=>"absent"
264
-
265
- What state the database should be in.
266
-
267
- Options:
268
-
269
- * **:up**: Upstate
270
- * **:down**: Downstate
271
-
272
- Default value: up
273
-
274
- ##### `file`
275
-
276
- The database file to use.
277
-
278
- ##### `log_level`
279
-
280
- Valid values: debug, warn, error
281
-
282
- The log level to use.
283
-
284
- Default value: warn
285
-
286
- #### Parameters
287
-
288
- The following parameters are available in the `database` type.
289
-
290
- ##### `address`
291
-
292
- namevar
293
-
294
- The database server name.
295
-
296
- ##### `encryption_key`
297
-
298
- The encryption key to use.
299
-
300
- Required features: encryption.
301
-
302
- ##### `encrypt`
303
-
304
- Valid values: `true`, `false`, yes, no
305
-
306
- Whether or not to encrypt the database.
307
-
308
- Default value: `false`
309
-
310
- ## Functions
311
-
312
- ### func
313
-
314
- Type: Puppet Language
315
-
316
- A simple Puppet function.
317
-
318
- #### Examples
319
-
320
- ##### Test
321
-
322
- ```puppet
323
- $result = func(1, 2)
324
- ```
325
-
326
- #### `func(Integer $param1, Any $param2, String $param3 = hi, Enum['yes', 'no'] $param4 = 'yes')`
327
-
328
- A simple Puppet function.
329
-
330
- Returns: `Undef` Returns nothing.
331
-
332
- Raises:
333
- * `SomeError` this is some error
334
-
335
- ##### Examples
336
-
337
- ###### Test
338
-
339
- ```puppet
340
- $result = func(1, 2)
341
- ```
342
-
343
- ##### `param1`
344
-
345
- Data type: `Integer`
346
-
347
- First param.
348
-
349
- ##### `param2`
350
-
351
- Data type: `Any`
352
-
353
- Second param.
354
-
355
- ##### `param3`
356
-
357
- Data type: `String`
358
-
359
- Third param.
360
-
361
- Options:
362
-
363
- * **:param3opt** `Array`: Something about this option
364
-
365
- ##### `param4`
366
-
367
- Data type: `Enum['yes', 'no']`
368
-
369
- Fourth param.
370
-
371
- Options:
372
-
373
- * **:yes**: Yes option.
374
- * **:no**: No option.
375
-
376
- ### func3x
377
-
378
- Type: Ruby 3.x API
379
-
380
- Documentation for an example 3.x function.
381
-
382
- #### Examples
383
-
384
- ##### Calling the function.
385
-
386
- ```puppet
387
- func3x('hi', 10)
388
- ```
389
-
390
- #### `func3x(String $param1, Integer $param2)`
391
-
392
- Documentation for an example 3.x function.
393
-
394
- Returns: `Undef`
395
-
396
- ##### Examples
397
-
398
- ###### Calling the function.
399
-
400
- ```puppet
401
- func3x('hi', 10)
402
- ```
403
-
404
- ##### `param1`
405
-
406
- Data type: `String`
407
-
408
- The first parameter.
409
-
410
- ##### `param2`
411
-
412
- Data type: `Integer`
413
-
414
- The second parameter.
415
-
416
- ### func4x
417
-
418
- Type: Ruby 4.x API
419
-
420
- An example 4.x function.
421
-
422
- #### Examples
423
-
424
- ##### Calling the function
425
-
426
- ```puppet
427
- $result = func4x(1, 'foo')
428
- ```
429
-
430
- ##### Calling the function with all args
431
-
432
- ```puppet
433
- $result = func4x(1, 'foo', ['bar'])
434
- ```
435
-
436
- #### `func4x(Integer $param1, Any $param2, Optional[Array[String]] $param3, Optional[Enum[one, two]] $param4)`
437
-
438
- An overview for the first overload.
439
-
440
- Returns: `Undef` Returns nothing.
441
-
442
- ##### Examples
443
-
444
- ###### Calling the function foo
445
-
446
- ```puppet
447
- $result = func4x(1, 'foooo')
448
- ```
449
-
450
- ##### `param1`
451
-
452
- Data type: `Integer`
453
-
454
- The first parameter.
455
-
456
- ##### `param2`
457
-
458
- Data type: `Any`
459
-
460
- The second parameter.
461
-
462
- Options:
463
-
464
- * **:option** `String`: an option
465
- * **:option2** `String`: another option
466
-
467
- ##### `param3`
468
-
469
- Data type: `Optional[Array[String]]`
470
-
471
- The third parameter.
472
-
473
- ##### `param4`
474
-
475
- Data type: `Optional[Enum[one, two]]`
476
-
477
- The fourth parameter.
478
-
479
- Options:
480
-
481
- * **:one**: Option one.
482
- * **:two**: Option two.
483
-
484
- #### `func4x(Boolean $param, Callable &$block)`
485
-
486
- An overview for the second overload.
487
-
488
- Returns: `String` Returns a string.
489
-
490
- ##### Examples
491
-
492
- ###### Calling the function bar
493
-
494
- ```puppet
495
- $result = func4x(1, 'bar', ['foo'])
496
- ```
497
-
498
- ##### `param`
499
-
500
- Data type: `Boolean`
501
-
502
- The first parameter.
503
-
504
- ##### `&block`
505
-
506
- Data type: `Callable`
507
-
508
- The block parameter.
509
-
510
- ### func4x_1
511
-
512
- Type: Ruby 4.x API
513
-
514
- An example 4.x function with only one signature.
515
-
516
- #### `func4x_1(Integer $param1)`
517
-
518
- An example 4.x function with only one signature.
519
-
520
- Returns: `Undef` Returns nothing.
521
-
522
- ##### `param1`
523
-
524
- Data type: `Integer`
525
-
526
- The first parameter.
527
-
528
- ## Tasks
529
-
530
- ### (stdin)
531
-
532
- Allows you to backup your database to local file.
533
-
534
- **Supports noop?** false
535
-
536
- #### Parameters
537
-
538
- ##### `database`
539
-
540
- Data type: `Optional[String[1]]`
541
-
542
- Database to connect to
543
-
544
- ##### `user`
545
-
546
- Data type: `Optional[String[1]]`
547
-
548
- The user
549
-
550
- ##### `password`
551
-
552
- Data type: `Optional[String[1]]`
553
-
554
- The password
555
-
556
- ##### `sql`
557
-
558
- Data type: `String[1]`
559
-
560
- Path to file you want backup to
561
-