puppet-strings 2.2.0 → 2.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +87 -1
- data/CONTRIBUTING.md +32 -2
- data/README.md +81 -17
- data/lib/puppet-strings.rb +5 -3
- data/lib/puppet-strings/describe.rb +2 -0
- data/lib/puppet-strings/json.rb +4 -0
- data/lib/puppet-strings/markdown.rb +13 -9
- data/lib/puppet-strings/markdown/base.rb +30 -3
- data/lib/puppet-strings/markdown/data_type.rb +36 -0
- data/lib/puppet-strings/markdown/data_types.rb +43 -0
- data/lib/puppet-strings/markdown/defined_type.rb +2 -0
- data/lib/puppet-strings/markdown/defined_types.rb +3 -1
- data/lib/puppet-strings/markdown/function.rb +9 -7
- data/lib/puppet-strings/markdown/functions.rb +3 -1
- data/lib/puppet-strings/markdown/puppet_class.rb +2 -0
- data/lib/puppet-strings/markdown/puppet_classes.rb +3 -1
- data/lib/puppet-strings/markdown/puppet_plan.rb +2 -0
- data/lib/puppet-strings/markdown/puppet_plans.rb +3 -1
- data/lib/puppet-strings/markdown/puppet_task.rb +2 -0
- data/lib/puppet-strings/markdown/puppet_tasks.rb +3 -1
- data/lib/puppet-strings/markdown/resource_type.rb +21 -2
- data/lib/puppet-strings/markdown/resource_types.rb +3 -1
- data/lib/puppet-strings/markdown/table_of_contents.rb +4 -1
- data/lib/puppet-strings/markdown/templates/classes_and_defines.erb +18 -6
- data/lib/puppet-strings/markdown/templates/data_type.erb +101 -0
- data/lib/puppet-strings/markdown/templates/data_type_function.erb +67 -0
- data/lib/puppet-strings/markdown/templates/function.erb +10 -1
- data/lib/puppet-strings/markdown/templates/puppet_task.erb +1 -1
- data/lib/puppet-strings/markdown/templates/resource_type.erb +35 -13
- data/lib/puppet-strings/markdown/templates/table_of_contents.erb +6 -6
- data/lib/puppet-strings/monkey_patches/display_object_command.rb +2 -0
- data/lib/puppet-strings/tasks.rb +2 -0
- data/lib/puppet-strings/tasks/generate.rb +5 -2
- data/lib/puppet-strings/tasks/gh_pages.rb +3 -0
- data/lib/puppet-strings/version.rb +3 -1
- data/lib/puppet-strings/yard.rb +19 -0
- data/lib/puppet-strings/yard/code_objects.rb +4 -0
- data/lib/puppet-strings/yard/code_objects/base.rb +2 -0
- data/lib/puppet-strings/yard/code_objects/class.rb +5 -3
- data/lib/puppet-strings/yard/code_objects/data_type.rb +102 -0
- data/lib/puppet-strings/yard/code_objects/data_type_alias.rb +60 -0
- data/lib/puppet-strings/yard/code_objects/defined_type.rb +5 -3
- data/lib/puppet-strings/yard/code_objects/function.rb +9 -6
- data/lib/puppet-strings/yard/code_objects/group.rb +3 -0
- data/lib/puppet-strings/yard/code_objects/plan.rb +5 -3
- data/lib/puppet-strings/yard/code_objects/provider.rb +6 -0
- data/lib/puppet-strings/yard/code_objects/task.rb +3 -1
- data/lib/puppet-strings/yard/code_objects/type.rb +49 -5
- data/lib/puppet-strings/yard/handlers.rb +4 -0
- data/lib/puppet-strings/yard/handlers/helpers.rb +2 -0
- data/lib/puppet-strings/yard/handlers/json/base.rb +2 -0
- data/lib/puppet-strings/yard/handlers/json/task_handler.rb +2 -0
- data/lib/puppet-strings/yard/handlers/puppet/base.rb +3 -0
- data/lib/puppet-strings/yard/handlers/puppet/class_handler.rb +2 -0
- data/lib/puppet-strings/yard/handlers/puppet/data_type_alias_handler.rb +26 -0
- data/lib/puppet-strings/yard/handlers/puppet/defined_type_handler.rb +2 -0
- data/lib/puppet-strings/yard/handlers/puppet/function_handler.rb +3 -1
- data/lib/puppet-strings/yard/handlers/puppet/plan_handler.rb +2 -0
- data/lib/puppet-strings/yard/handlers/ruby/base.rb +7 -2
- data/lib/puppet-strings/yard/handlers/ruby/data_type_handler.rb +409 -0
- data/lib/puppet-strings/yard/handlers/ruby/function_handler.rb +9 -9
- data/lib/puppet-strings/yard/handlers/ruby/provider_handler.rb +13 -0
- data/lib/puppet-strings/yard/handlers/ruby/rsapi_handler.rb +6 -3
- data/lib/puppet-strings/yard/handlers/ruby/type_base.rb +25 -12
- data/lib/puppet-strings/yard/handlers/ruby/type_extras_handler.rb +6 -3
- data/lib/puppet-strings/yard/handlers/ruby/type_handler.rb +18 -1
- data/lib/puppet-strings/yard/parsers.rb +2 -0
- data/lib/puppet-strings/yard/parsers/json/parser.rb +3 -1
- data/lib/puppet-strings/yard/parsers/json/task_statement.rb +2 -0
- data/lib/puppet-strings/yard/parsers/puppet/parser.rb +11 -2
- data/lib/puppet-strings/yard/parsers/puppet/statement.rb +29 -0
- data/lib/puppet-strings/yard/tags.rb +4 -0
- data/lib/puppet-strings/yard/tags/enum_tag.rb +14 -0
- data/lib/puppet-strings/yard/tags/factory.rb +18 -0
- data/lib/puppet-strings/yard/tags/overload_tag.rb +5 -2
- data/lib/puppet-strings/yard/tags/parameter_directive.rb +5 -4
- data/lib/puppet-strings/yard/tags/property_directive.rb +5 -4
- data/lib/puppet-strings/yard/tags/summary_tag.rb +2 -0
- data/lib/puppet-strings/yard/templates/default/fulldoc/html/full_list_puppet_data_type.erb +10 -0
- data/lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb +9 -0
- data/lib/puppet-strings/yard/templates/default/layout/html/objects.erb +2 -0
- data/lib/puppet-strings/yard/templates/default/layout/html/setup.rb +18 -1
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/box_info.erb +10 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/header.erb +1 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/method_details_list.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/note.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/overview.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/setup.rb +13 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/source.erb +12 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/summary.erb +4 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type/html/todo.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/alias_of.erb +10 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/box_info.erb +10 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/header.erb +1 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/note.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/overview.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/setup.rb +17 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/source.erb +12 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/summary.erb +4 -0
- data/lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/todo.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_function/html/setup.rb +1 -1
- data/lib/puppet-strings/yard/templates/default/puppet_type/html/setup.rb +3 -1
- data/lib/puppet-strings/yard/templates/default/tags/html/enum.erb +17 -0
- data/lib/puppet-strings/yard/templates/default/tags/setup.rb +7 -0
- data/lib/puppet-strings/yard/util.rb +7 -4
- data/lib/puppet/application/strings.rb +2 -0
- data/lib/puppet/face/strings.rb +7 -4
- data/lib/puppet/feature/rgen.rb +2 -0
- data/lib/puppet/feature/yard.rb +2 -0
- metadata +35 -45
- data/Gemfile +0 -38
- data/HISTORY.md +0 -218
- data/JSON.md +0 -802
- data/Rakefile +0 -98
- data/codecov.yml +0 -3
- data/misc/ANNOUNCEMENT_TEMPLATE.md +0 -40
- data/spec/acceptance/emit_json_options.rb +0 -71
- data/spec/acceptance/generate_markdown_spec.rb +0 -49
- data/spec/acceptance/lib/util.rb +0 -163
- data/spec/acceptance/running_strings_generate.rb +0 -54
- data/spec/fixtures/acceptance/modules/test/functions/add.pp +0 -9
- data/spec/fixtures/acceptance/modules/test/lib/puppet/functions/4x_function.rb +0 -5
- data/spec/fixtures/acceptance/modules/test/lib/puppet/parser/functions/function3x.rb +0 -2
- data/spec/fixtures/acceptance/modules/test/lib/puppet/provider/server/linux.rb +0 -9
- data/spec/fixtures/acceptance/modules/test/lib/puppet/type/database.rb +0 -15
- data/spec/fixtures/acceptance/modules/test/manifests/init.pp +0 -27
- data/spec/fixtures/acceptance/modules/test/manifests/triple_nested_classes.pp +0 -27
- data/spec/fixtures/acceptance/modules/test/metadata.json +0 -6
- data/spec/fixtures/unit/markdown/output.md +0 -508
- data/spec/fixtures/unit/markdown/output_with_plan.md +0 -542
- data/spec/spec_helper.rb +0 -46
- data/spec/spec_helper_acceptance.rb +0 -28
- data/spec/unit/puppet-strings/describe_spec.rb +0 -141
- data/spec/unit/puppet-strings/json_spec.rb +0 -283
- data/spec/unit/puppet-strings/markdown/base_spec.rb +0 -146
- data/spec/unit/puppet-strings/markdown_spec.rb +0 -296
- data/spec/unit/puppet-strings/yard/code_objects/task_spec.rb +0 -92
- data/spec/unit/puppet-strings/yard/handlers/json/task_handler_spec.rb +0 -116
- data/spec/unit/puppet-strings/yard/handlers/puppet/class_handler_spec.rb +0 -217
- data/spec/unit/puppet-strings/yard/handlers/puppet/defined_type_handler_spec.rb +0 -231
- data/spec/unit/puppet-strings/yard/handlers/puppet/function_handler_spec.rb +0 -315
- data/spec/unit/puppet-strings/yard/handlers/ruby/function_handler_spec.rb +0 -729
- data/spec/unit/puppet-strings/yard/handlers/ruby/provider_handler_spec.rb +0 -139
- data/spec/unit/puppet-strings/yard/handlers/ruby/rsapi_handler_spec.rb +0 -235
- data/spec/unit/puppet-strings/yard/handlers/ruby/type_handler_spec.rb +0 -295
- data/spec/unit/puppet-strings/yard/parsers/json/parser_spec.rb +0 -72
- data/spec/unit/puppet-strings/yard/parsers/json/task_statement_spec.rb +0 -56
- data/spec/unit/puppet-strings/yard/parsers/puppet/parser_spec.rb +0 -209
- data/spec/unit/puppet-strings/yard/util_spec.rb +0 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9aa1aa13861fd95a237ca2abd1ef890dfbcba1b7757c2dd609d648b803df7a33
|
4
|
+
data.tar.gz: 55d8b1903917fcd24fbb53dbe1433449a75eb88544071fdf0e2bf2d0eeb2fe11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 394ad674391503b4a894857035fbe190678bba4b264d6093935005b22322beda448fb38470ba92acedb191e1faec8dab01ccd0cc14ba807ca5b39cc6bff6b2fc
|
7
|
+
data.tar.gz: 420511c57607c8d76eb2d3e8b6417a84d3ac4247c3fc64ddd83a23fa50aba570b1e984e1a67a3c56c929c4ac8aeebf84726cd14e39ad689405ee8726281ae1dd
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,91 @@
|
|
3
3
|
All significant changes to this repo will be summarized in this file.
|
4
4
|
|
5
5
|
|
6
|
+
## [v2.6.0](https://github.com/puppetlabs/puppet-strings/tree/v2.6.0) (2021-01-18)
|
7
|
+
|
8
|
+
[Full Changelog](https://github.com/puppetlabs/puppet-strings/compare/v2.5.0...v2.6.0)
|
9
|
+
|
10
|
+
Added
|
11
|
+
|
12
|
+
- Improved markdown templates [\#252](https://github.com/puppetlabs/puppet-strings/pull/252) ([kozl](https://github.com/kozl))
|
13
|
+
|
14
|
+
Fixed
|
15
|
+
|
16
|
+
- Do not fail in case return tag has no type specified [\#268](https://github.com/puppetlabs/puppet-strings/pull/268) ([tiandrey](https://github.com/tiandrey))
|
17
|
+
- Handle a missing description gracefully [\#260](https://github.com/puppetlabs/puppet-strings/pull/260) ([scotje](https://github.com/scotje))
|
18
|
+
- Fix ERB failure - parameters without descriptions [\#255](https://github.com/puppetlabs/puppet-strings/pull/255) ([trevor-vaughan](https://github.com/trevor-vaughan))
|
19
|
+
- puppet\_function template: fix tags, source [\#249](https://github.com/puppetlabs/puppet-strings/pull/249) ([raemer](https://github.com/raemer))
|
20
|
+
|
21
|
+
Changed
|
22
|
+
|
23
|
+
- \(MAINT\) Drop Ruby 2.1.x and Puppet 4.x compatibility [\#253](https://github.com/puppetlabs/puppet-strings/pull/253) ([scotje](https://github.com/scotje))
|
24
|
+
|
25
|
+
**Closed issues:**
|
26
|
+
|
27
|
+
- Tags \(Parameter, Returns\) not generated in HTML output [\#248](https://github.com/puppetlabs/puppet-strings/issues/248)
|
28
|
+
- Can we get 2.5.0 released please [\#244](https://github.com/puppetlabs/puppet-strings/issues/244)
|
29
|
+
- Add supported\_features to puppet strings input/output for types [\#228](https://github.com/puppetlabs/puppet-strings/issues/228)
|
30
|
+
- Provider attribute is missing in generated types documentation [\#227](https://github.com/puppetlabs/puppet-strings/issues/227)
|
31
|
+
|
32
|
+
## [v2.5.0](https://github.com/puppetlabs/puppet-strings/tree/v2.5.0) (2020-07-16)
|
33
|
+
|
34
|
+
[Full Changelog](https://github.com/puppetlabs/puppet-strings/compare/v2.4.0...v2.5.0)
|
35
|
+
|
36
|
+
Added
|
37
|
+
|
38
|
+
- \(GH-225\) Document functions in Puppet Datatypes [\#235](https://github.com/puppetlabs/puppet-strings/pull/235) ([glennsarti](https://github.com/glennsarti))
|
39
|
+
- \(\#227\) Inject `provider` into params list for types with providers [\#231](https://github.com/puppetlabs/puppet-strings/pull/231) ([scotje](https://github.com/scotje))
|
40
|
+
|
41
|
+
Fixed
|
42
|
+
|
43
|
+
- \(\#242\) Wrap names in backticks when rendering to markdown [\#243](https://github.com/puppetlabs/puppet-strings/pull/243) ([scotje](https://github.com/scotje))
|
44
|
+
- Eliminate trailing spaces w/o descriptions [\#224](https://github.com/puppetlabs/puppet-strings/pull/224) ([binford2k](https://github.com/binford2k))
|
45
|
+
|
46
|
+
**Closed issues:**
|
47
|
+
|
48
|
+
- text rendering as emojis in strings generated docs [\#242](https://github.com/puppetlabs/puppet-strings/issues/242)
|
49
|
+
- Puppet Classes not Listed in Left Frame Contents [\#241](https://github.com/puppetlabs/puppet-strings/issues/241)
|
50
|
+
- exec type in generated docs missing attributes `creates`, `onlyif` [\#229](https://github.com/puppetlabs/puppet-strings/issues/229)
|
51
|
+
- \[Feature\] Document functions in Puppet Datatypes [\#225](https://github.com/puppetlabs/puppet-strings/issues/225)
|
52
|
+
- Document usage [\#8](https://github.com/puppetlabs/puppet-strings/issues/8)
|
53
|
+
- Need a search box on the main page [\#1](https://github.com/puppetlabs/puppet-strings/issues/1)
|
54
|
+
|
55
|
+
**Merged pull requests:**
|
56
|
+
|
57
|
+
- Release prep for v2.5.0 [\#245](https://github.com/puppetlabs/puppet-strings/pull/245) ([scotje](https://github.com/scotje))
|
58
|
+
|
59
|
+
## [v2.4.0](https://github.com/puppetlabs/puppet-strings/tree/v2.4.0) (2020-02-20)
|
60
|
+
|
61
|
+
[Full Changelog](https://github.com/puppetlabs/puppet-strings/compare/v2.3.1...v2.4.0)
|
62
|
+
|
63
|
+
Added
|
64
|
+
|
65
|
+
- Add checks to resource\_type handler and code objects [\#232](https://github.com/puppetlabs/puppet-strings/pull/232) ([scotje](https://github.com/scotje))
|
66
|
+
- Add missing HTML output support for enum tag [\#218](https://github.com/puppetlabs/puppet-strings/pull/218) ([seanmil](https://github.com/seanmil))
|
67
|
+
- \(PDOC-295\) Add @enum tag support for Enum data types [\#215](https://github.com/puppetlabs/puppet-strings/pull/215) ([seanmil](https://github.com/seanmil))
|
68
|
+
- Expanded default search glob for plans. [\#214](https://github.com/puppetlabs/puppet-strings/pull/214) ([Raskil](https://github.com/Raskil))
|
69
|
+
|
70
|
+
**Merged pull requests:**
|
71
|
+
|
72
|
+
- \(MAINT\) Release prep for 2.4.0 [\#221](https://github.com/puppetlabs/puppet-strings/pull/221) ([scotje](https://github.com/scotje))
|
73
|
+
|
74
|
+
## [v2.3.1](https://github.com/puppetlabs/puppet-strings/tree/v2.3.1) (2019-09-23)
|
75
|
+
|
76
|
+
[Full Changelog](https://github.com/puppetlabs/puppet-strings/compare/v2.3.0...v2.3.1)
|
77
|
+
|
78
|
+
Fixed
|
79
|
+
|
80
|
+
- \(maint\) Use parameters method instead of json\['parameters'\] [\#211](https://github.com/puppetlabs/puppet-strings/pull/211) ([lucywyman](https://github.com/lucywyman))
|
81
|
+
- \(PDOC-285\) Fix data\_type\_handler for errors and numbers [\#209](https://github.com/puppetlabs/puppet-strings/pull/209) ([glennsarti](https://github.com/glennsarti))
|
82
|
+
|
83
|
+
## [v2.3.0](https://github.com/puppetlabs/puppet-strings/tree/v2.3.0) (2019-07-17)
|
84
|
+
|
85
|
+
[Full Changelog](https://github.com/puppetlabs/puppet-strings/compare/v2.2.0...v2.3.0)
|
86
|
+
|
87
|
+
Added
|
88
|
+
|
89
|
+
- Add Puppet Data Type documentation [\#199](https://github.com/puppetlabs/puppet-strings/pull/199) ([glennsarti](https://github.com/glennsarti))
|
90
|
+
|
6
91
|
## [v2.2.0](https://github.com/puppetlabs/puppet-strings/tree/v2.2.0) (2019-04-05)
|
7
92
|
|
8
93
|
[Full Changelog](https://github.com/puppetlabs/puppet-strings/compare/v2.1.0...v2.2.0)
|
@@ -16,6 +101,7 @@ Added
|
|
16
101
|
|
17
102
|
Fixed
|
18
103
|
|
104
|
+
- \(PDOC-283\) Fix namespaced symbols [\#205](https://github.com/puppetlabs/puppet-strings/pull/205) ([glennsarti](https://github.com/glennsarti))
|
19
105
|
- \(PDOC-266\) Silence 'unexpected construct regexp\_literal' warning [\#189](https://github.com/puppetlabs/puppet-strings/pull/189) ([seanmil](https://github.com/seanmil))
|
20
106
|
|
21
107
|
## [v2.1.0](https://github.com/puppetlabs/puppet-strings/tree/v2.1.0) (2018-06-26)
|
@@ -251,4 +337,4 @@ All related tickets can be found under the [PDOC][PDOC JIRA] JIRA project with t
|
|
251
337
|
- Strings will no longer crash when documenting 3x functions with less than two arguments passed into newfunction **(PDOC-27)**
|
252
338
|
|
253
339
|
|
254
|
-
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/
|
340
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/CONTRIBUTING.md
CHANGED
@@ -7,13 +7,44 @@ that we can have a chance of keeping on top of things.
|
|
7
7
|
|
8
8
|
## Getting Started
|
9
9
|
|
10
|
-
* Make sure you have a [Jira account](http://tickets.puppetlabs.com)
|
11
10
|
* Make sure you have a [GitHub account](https://github.com/signup/free)
|
12
11
|
* Submit a ticket for your issue, assuming one does not already exist.
|
13
12
|
* Clearly describe the issue including steps to reproduce when it is a bug.
|
14
13
|
* Make sure you fill in the earliest version that you know has the issue.
|
15
14
|
* Fork the repository on GitHub
|
16
15
|
|
16
|
+
## Submit an issue
|
17
|
+
|
18
|
+
We use GitHub Issues for issue tracking on puppet-strings.
|
19
|
+
|
20
|
+
Before you submit your issue, take a minute to...
|
21
|
+
|
22
|
+
1. **Use the GitHub issue search** — check if the issue has already been
|
23
|
+
reported.
|
24
|
+
|
25
|
+
2. **Check if the issue has been fixed** — try to reproduce it using the
|
26
|
+
latest `master` or release tag.
|
27
|
+
|
28
|
+
A good bug report shouldn't leave others needing to chase you up for more
|
29
|
+
information. Please try to be as **detailed as possible** in your issue. What is
|
30
|
+
your environment? What steps will reproduce the issue?
|
31
|
+
|
32
|
+
Example:
|
33
|
+
|
34
|
+
> Short and descriptive example issue title
|
35
|
+
>
|
36
|
+
> A summary of the issue with details about the environment it occurs in (Ruby version, Puppet version, Strings version, etc). If
|
37
|
+
> suitable, include the steps required to reproduce the bug.
|
38
|
+
>
|
39
|
+
> 1. This is the first step
|
40
|
+
> 2. This is the second step
|
41
|
+
> 3. Further steps, etc.
|
42
|
+
>
|
43
|
+
> Any other information you want to share that is relevant to the issue being
|
44
|
+
> reported. This might include the lines of code that you have identified as
|
45
|
+
> causing the bug, and potential solutions (and your opinions on their
|
46
|
+
> merits).
|
47
|
+
|
17
48
|
## Making Changes
|
18
49
|
|
19
50
|
* Create a topic branch from where you want to base your work.
|
@@ -98,7 +129,6 @@ To cut a new release, from a current `master` checkout:
|
|
98
129
|
# Additional Resources
|
99
130
|
|
100
131
|
* [More information on contributing](http://links.puppet.com/contribute-to-puppet)
|
101
|
-
* [Bug tracker (Jira)](http://tickets.puppet.com)
|
102
132
|
* [Contributor License Agreement](http://links.puppet.com/cla)
|
103
133
|
* [General GitHub documentation](http://help.github.com/)
|
104
134
|
* [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
|
data/README.md
CHANGED
@@ -8,36 +8,43 @@ Puppet Strings generates documentation for Puppet code and extensions written in
|
|
8
8
|
| | |
|
9
9
|
| -------------- |---------------------------------------------------------------- |
|
10
10
|
| *Code* | [GitHub][repo] |
|
11
|
-
| *Issues* | [
|
11
|
+
| *Issues* | [GitHub issues][issues] |
|
12
12
|
| *License* | [Apache 2.0][LICENSE] |
|
13
13
|
| *Change log* | [CHANGELOG.md][changelog] |
|
14
14
|
| *Contributing* | [CONTRIBUTING.md][contributing] and [COMMITTERS.md][committers] |
|
15
15
|
|
16
|
-
[repo]: https://github.com/puppetlabs/puppet-strings
|
17
|
-
[JIRA]: https://tickets.puppetlabs.com/browse/PDOC
|
18
|
-
[LICENSE]: https://github.com/puppetlabs/puppet-strings/blob/master/LICENSE
|
19
|
-
[changelog]: https://github.com/puppetlabs/puppet-strings/blob/master/CHANGELOG.md
|
20
|
-
[contributing]: https://github.com/puppetlabs/puppet-strings/blob/master/CONTRIBUTING.md
|
21
|
-
[committers]: https://github.com/puppetlabs/puppet-strings/blob/master/COMMITTERS.md
|
22
|
-
|
23
16
|
## Installing Puppet Strings
|
24
17
|
|
25
18
|
### Requirements
|
26
19
|
|
27
20
|
* Ruby 2.1.9 or newer
|
28
|
-
* Puppet 4.0 or newer
|
29
|
-
* The `yard` Ruby gem
|
21
|
+
* Puppet 4.0.0 or newer
|
30
22
|
|
31
23
|
### Install Puppet Strings
|
32
24
|
|
33
|
-
|
34
|
-
|
35
|
-
|
25
|
+
Installation instructions vary slightly depending on how you have installed Puppet:
|
26
|
+
|
27
|
+
#### Installing Puppet Strings with [`puppet-agent`](https://puppet.com/docs/puppet/6.4/about_agent.html#what-puppet-agent-and-puppetserver-are) package
|
28
|
+
|
29
|
+
Install the `puppet-strings` gem into the `puppet-agent` environment:
|
30
|
+
|
31
|
+
```
|
32
|
+
sudo /opt/puppetlabs/puppet/bin/gem install puppet-strings
|
33
|
+
```
|
34
|
+
|
35
|
+
#### Installing Puppet Strings with standalone `puppet` gem
|
36
36
|
|
37
|
-
|
37
|
+
Install the `puppet-strings` gem into the same Ruby installation where you have installed the `puppet` gem:
|
38
38
|
|
39
|
-
|
39
|
+
```
|
40
|
+
gem install puppet-strings
|
41
|
+
```
|
40
42
|
|
43
|
+
### Configure Puppet Strings (Optional)
|
44
|
+
|
45
|
+
To use YARD options with Puppet Strings, specify a `.yardopts` file in the same directory in which you run `puppet strings`. Puppet Strings supports the Markdown format and automatically sets the YARD `markup` option to `markdown`.
|
46
|
+
|
47
|
+
To see a list of available YARD options, run `yard help doc`. For details about YARD options configuration, see the [YARD docs](http://www.rubydoc.info/gems/yard/file/docs/GettingStarted.md#config).
|
41
48
|
|
42
49
|
## Generating documentation with Puppet Strings
|
43
50
|
|
@@ -74,12 +81,69 @@ To run specs, run the `spec` rake task:
|
|
74
81
|
$ bundle install --path .bundle/gems
|
75
82
|
$ bundle exec rake spec
|
76
83
|
|
84
|
+
### Running Acceptance Tests
|
85
|
+
|
86
|
+
We are experimenting with a new tool for running acceptance tests. It's name is [puppet_litmus](https://github.com/puppetlabs/puppet_litmus) and replaces beaker as the test runner.
|
87
|
+
|
88
|
+
An example of running the acceptance tests locally with Docker:
|
89
|
+
|
90
|
+
1. Ensure [Docker](https://www.docker.com/products/docker-desktop) is installed and running.
|
91
|
+
|
92
|
+
2. Install Ruby gems. This step can be skipped if you have already followed the [Running Specs](#running-specs) instructions
|
93
|
+
|
94
|
+
``` text
|
95
|
+
$ bundle install --path .bundle/gems
|
96
|
+
```
|
97
|
+
|
98
|
+
3. Provision a docker container, in this case CentOS 7
|
99
|
+
|
100
|
+
``` text
|
101
|
+
$ bundle exec rake litmus:provision[docker, centos:7]
|
102
|
+
```
|
103
|
+
|
104
|
+
4. Install test items; Puppet Agent, our test module, and the puppet-strings gem built from this source code
|
105
|
+
|
106
|
+
``` text
|
107
|
+
$ bundle exec rake litmus:install_agent[puppet6]
|
108
|
+
$ bundle exec rake litmus:install_module_fixtures
|
109
|
+
$ bundle exec rake litmus:install_gems
|
110
|
+
```
|
111
|
+
|
112
|
+
5. Run the acceptance tests. These tests can be run more than once without the need to run the provisioning steps again
|
113
|
+
|
114
|
+
``` text
|
115
|
+
$ bundle exec rake litmus:acceptance:parallel
|
116
|
+
```
|
117
|
+
|
118
|
+
6. Remove any test containers
|
119
|
+
|
120
|
+
``` text
|
121
|
+
$ bundle exec rake litmus:tear_down
|
122
|
+
```
|
123
|
+
|
124
|
+
The [Litmus Wiki](https://github.com/puppetlabs/puppet_litmus/wiki) contains more indepth information about Litmus. There is also a tutorial on using Litmus with an example [Puppet Module](https://github.com/puppetlabs/puppet_litmus/wiki/Tutorial:-use-Litmus-to-execute-acceptance-tests-with-a-sample-module-(MoTD)#install-the-necessary-gems-for-the-module)
|
125
|
+
|
126
|
+
|
127
|
+
An example of run the acceptance tests follow the instructions [here].
|
128
|
+
|
77
129
|
## Support
|
78
130
|
|
79
|
-
Please log
|
131
|
+
Please log issues in [GitHub issues][issues]. Check out [CONTRIBUTING.md][contributing] for tips on writing _the best_ issues.
|
80
132
|
|
81
|
-
|
133
|
+
A [mailing list](https://groups.google.com/forum/?fromgroups#!forum/puppet-users) is available for asking questions and getting help from others.
|
134
|
+
|
135
|
+
There is also an active community on the [Puppet community Slack][] in the #forge-modules channel.
|
82
136
|
|
83
137
|
We use semantic version numbers for our releases and recommend that users upgrade to patch releases and minor releases as they become available.
|
84
138
|
|
85
139
|
Bug fixes and ongoing development will occur in minor releases for the current major version. Security fixes will be ported to a previous major version on a best-effort basis, until the previous major version is no longer maintained.
|
140
|
+
|
141
|
+
|
142
|
+
[repo]: https://github.com/puppetlabs/puppet-strings
|
143
|
+
[issues]: https://github.com/puppetlabs/puppet-strings/issues
|
144
|
+
[LICENSE]: https://github.com/puppetlabs/puppet-strings/blob/master/LICENSE
|
145
|
+
[changelog]: https://github.com/puppetlabs/puppet-strings/blob/master/CHANGELOG.md
|
146
|
+
[contributing]: https://github.com/puppetlabs/puppet-strings/blob/master/CONTRIBUTING.md
|
147
|
+
[committers]: https://github.com/puppetlabs/puppet-strings/blob/master/COMMITTERS.md
|
148
|
+
[Puppet community Slack]: https://slack.puppet.com
|
149
|
+
|
data/lib/puppet-strings.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# The root module for Puppet Strings.
|
2
4
|
module PuppetStrings
|
3
5
|
# The glob patterns used to search for files to document.
|
@@ -7,7 +9,7 @@ module PuppetStrings
|
|
7
9
|
types/**/*.pp
|
8
10
|
lib/**/*.rb
|
9
11
|
tasks/*.json
|
10
|
-
plans
|
12
|
+
plans/**/*.pp
|
11
13
|
).freeze
|
12
14
|
|
13
15
|
# Generates documentation.
|
@@ -27,8 +29,9 @@ module PuppetStrings
|
|
27
29
|
|
28
30
|
# Format the arguments to YARD
|
29
31
|
args = ['doc']
|
32
|
+
args << '--no-progress'
|
30
33
|
args << '--debug' if options[:debug]
|
31
|
-
args << '--backtrace' if options[:
|
34
|
+
args << '--backtrace' if options[:debug]
|
32
35
|
args << "-m#{options[:markup] || 'markdown'}"
|
33
36
|
|
34
37
|
file = nil
|
@@ -42,7 +45,6 @@ module PuppetStrings
|
|
42
45
|
args << '-n'
|
43
46
|
args << '-q' unless file
|
44
47
|
args << '--no-stats' unless file
|
45
|
-
args << '--no-progress' unless file
|
46
48
|
end
|
47
49
|
|
48
50
|
yard_args = options[:yard_args]
|
data/lib/puppet-strings/json.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'json'
|
2
4
|
|
3
5
|
# The module for JSON related functionality.
|
@@ -8,6 +10,8 @@ module PuppetStrings::Json
|
|
8
10
|
def self.render(file = nil)
|
9
11
|
document = {
|
10
12
|
puppet_classes: YARD::Registry.all(:puppet_class).sort_by!(&:name).map!(&:to_hash),
|
13
|
+
data_types: YARD::Registry.all(:puppet_data_type).sort_by!(&:name).map!(&:to_hash),
|
14
|
+
data_type_aliases: YARD::Registry.all(:puppet_data_type_alias).sort_by!(&:name).map!(&:to_hash),
|
11
15
|
defined_types: YARD::Registry.all(:puppet_defined_type).sort_by!(&:name).map!(&:to_hash),
|
12
16
|
resource_types: YARD::Registry.all(:puppet_type).sort_by!(&:name).map!(&:to_hash),
|
13
17
|
providers: YARD::Registry.all(:puppet_provider).sort_by!(&:name).map!(&:to_hash),
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'puppet-strings/json'
|
2
4
|
|
3
5
|
# module for parsing Yard Registries and generating markdown
|
@@ -5,6 +7,7 @@ module PuppetStrings::Markdown
|
|
5
7
|
require_relative 'markdown/puppet_classes'
|
6
8
|
require_relative 'markdown/functions'
|
7
9
|
require_relative 'markdown/defined_types'
|
10
|
+
require_relative 'markdown/data_types'
|
8
11
|
require_relative 'markdown/resource_types'
|
9
12
|
require_relative 'markdown/puppet_tasks'
|
10
13
|
require_relative 'markdown/puppet_plans'
|
@@ -13,15 +16,16 @@ module PuppetStrings::Markdown
|
|
13
16
|
# generates markdown documentation
|
14
17
|
# @return [String] markdown doc
|
15
18
|
def self.generate
|
16
|
-
final = "# Reference\n"
|
17
|
-
final
|
18
|
-
final
|
19
|
-
final
|
20
|
-
final
|
21
|
-
final
|
22
|
-
final
|
23
|
-
final
|
24
|
-
final
|
19
|
+
final = "# Reference\n\n"
|
20
|
+
final += "<!-- DO NOT EDIT: This document was generated by Puppet Strings -->\n\n"
|
21
|
+
final += PuppetStrings::Markdown::TableOfContents.render
|
22
|
+
final += PuppetStrings::Markdown::PuppetClasses.render
|
23
|
+
final += PuppetStrings::Markdown::DefinedTypes.render
|
24
|
+
final += PuppetStrings::Markdown::ResourceTypes.render
|
25
|
+
final += PuppetStrings::Markdown::Functions.render
|
26
|
+
final += PuppetStrings::Markdown::DataTypes.render
|
27
|
+
final += PuppetStrings::Markdown::PuppetTasks.render
|
28
|
+
final += PuppetStrings::Markdown::PuppetPlans.render
|
25
29
|
|
26
30
|
final
|
27
31
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'puppet-strings'
|
2
4
|
require 'puppet-strings/json'
|
3
5
|
require 'puppet-strings/yard'
|
@@ -68,7 +70,7 @@ module PuppetStrings::Markdown
|
|
68
70
|
|
69
71
|
# @return [String] top-level name
|
70
72
|
def name
|
71
|
-
@registry[:name]
|
73
|
+
@registry[:name]&.to_s
|
72
74
|
end
|
73
75
|
|
74
76
|
# @return [String] 'Overview' text (untagged text)
|
@@ -111,6 +113,11 @@ module PuppetStrings::Markdown
|
|
111
113
|
select_tags('option')
|
112
114
|
end
|
113
115
|
|
116
|
+
# @return [Array] enum tag hashes
|
117
|
+
def enums
|
118
|
+
select_tags('enum')
|
119
|
+
end
|
120
|
+
|
114
121
|
# @param parameter_name
|
115
122
|
# parameter name to match to option tags
|
116
123
|
# @return [Array] option tag hashes that have a parent parameter_name
|
@@ -119,6 +126,14 @@ module PuppetStrings::Markdown
|
|
119
126
|
opts_for_p unless opts_for_p.nil? || opts_for_p.length.zero?
|
120
127
|
end
|
121
128
|
|
129
|
+
# @param parameter_name
|
130
|
+
# parameter name to match to enum tags
|
131
|
+
# @return [Array] enum tag hashes that have a parent parameter_name
|
132
|
+
def enums_for_param(parameter_name)
|
133
|
+
enums_for_p = enums.select { |e| e[:parent] == parameter_name } unless enums.nil?
|
134
|
+
enums_for_p unless enums_for_p.nil? || enums_for_p.length.zero?
|
135
|
+
end
|
136
|
+
|
122
137
|
# @return [Hash] any defaults found for the component
|
123
138
|
def defaults
|
124
139
|
@registry[:defaults] unless @registry[:defaults].nil?
|
@@ -156,10 +171,22 @@ module PuppetStrings::Markdown
|
|
156
171
|
@tags.any? { |tag| tag[:tag_name] == 'api' && tag[:text] == 'private' }
|
157
172
|
end
|
158
173
|
|
174
|
+
def word_wrap(text, line_width: 120, break_sequence: "\n")
|
175
|
+
return unless text
|
176
|
+
|
177
|
+
text.split("\n").collect! do |line|
|
178
|
+
line.length > line_width ? line.gsub(/(.{1,#{line_width}})(\s+|$)/, "\\1#{break_sequence}").strip : line
|
179
|
+
end * break_sequence
|
180
|
+
end
|
181
|
+
|
159
182
|
# @return [String] full markdown rendering of a component
|
160
183
|
def render(template)
|
161
|
-
|
162
|
-
|
184
|
+
begin
|
185
|
+
file = File.join(File.dirname(__FILE__),"templates/#{template}")
|
186
|
+
ERB.new(File.read(file), nil, '-').result(binding)
|
187
|
+
rescue StandardError => e
|
188
|
+
fail "Processing #{@registry[:file]}:#{@registry[:line]} with #{file} => #{e}"
|
189
|
+
end
|
163
190
|
end
|
164
191
|
|
165
192
|
private
|