puppet-strings 2.4.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9bfc095b6c7aa9124cfa44c79aa0404361fbe9b3971e58495aa8354f1b84163a
4
- data.tar.gz: 56c425e69b8bd4b1e9c6a0bb07a25ca806d880e6e9a865afa8137d12b5412442
3
+ metadata.gz: 543437ac3fd3177245de47e563235b3f99194299f1c1cf14132bed3850de5056
4
+ data.tar.gz: 4aaa21554b916ca541ae3ce04a21ab34912375499347a816292858915aa803cf
5
5
  SHA512:
6
- metadata.gz: 0a0fcbc8af4653fb35166cad42488f21bf5f046092ef1434331c7d4ba03fa4ac2544c3e220859c9dc2de94b4a263caed7b35a6185df297bf6dbb631553601f9d
7
- data.tar.gz: 7cf9f63f1fd50af678f4b3891ed7ac9da3d5eda249de6df50dd10ac93eed078f1f7fab6b5ca6945e6e057e89ce55c227b4aba1aab84884e6d89b1f039677ed38
6
+ metadata.gz: c73e04ec0c084f0000751eaa618ed5daa0efcfebf101e1d63832ab46403d0eff01ab628c028eae368097d2b3500c2e869d292c0fa07ad4eb68392773125b3ddf
7
+ data.tar.gz: 2a40adbd4874289129cecca5164f65ce3021a83a7cc3559bd6a6b28e3154020e1a9cd5a076c119827072feb47e2f6fe562924cfd63158f4c3e924ba132e0ddcd
@@ -3,7 +3,31 @@
3
3
  All significant changes to this repo will be summarized in this file.
4
4
 
5
5
 
6
- ## [v2.4.0](https://github.com/puppetlabs/puppet-strings/tree/v2.4.0) (2020-02-18)
6
+ ## [v2.5.0](https://github.com/puppetlabs/puppet-strings/tree/v2.5.0) (2020-07-15)
7
+
8
+ [Full Changelog](https://github.com/puppetlabs/puppet-strings/compare/v2.4.0...v2.5.0)
9
+
10
+ Added
11
+
12
+ - \(GH-225\) Document functions in Puppet Datatypes [\#235](https://github.com/puppetlabs/puppet-strings/pull/235) ([glennsarti](https://github.com/glennsarti))
13
+ - Add checks to resource\_type handler and code objects [\#232](https://github.com/puppetlabs/puppet-strings/pull/232) ([scotje](https://github.com/scotje))
14
+ - \(\#227\) Inject `provider` into params list for types with providers [\#231](https://github.com/puppetlabs/puppet-strings/pull/231) ([scotje](https://github.com/scotje))
15
+
16
+ Fixed
17
+
18
+ - \(\#242\) Wrap names in backticks when rendering to markdown [\#243](https://github.com/puppetlabs/puppet-strings/pull/243) ([scotje](https://github.com/scotje))
19
+ - Eliminate trailing spaces w/o descriptions [\#224](https://github.com/puppetlabs/puppet-strings/pull/224) ([binford2k](https://github.com/binford2k))
20
+
21
+ **Closed issues:**
22
+
23
+ - text rendering as emojis in strings generated docs [\#242](https://github.com/puppetlabs/puppet-strings/issues/242)
24
+ - Puppet Classes not Listed in Left Frame Contents [\#241](https://github.com/puppetlabs/puppet-strings/issues/241)
25
+ - exec type in generated docs missing attributes `creates`, `onlyif` [\#229](https://github.com/puppetlabs/puppet-strings/issues/229)
26
+ - \[Feature\] Document functions in Puppet Datatypes [\#225](https://github.com/puppetlabs/puppet-strings/issues/225)
27
+ - Document usage [\#8](https://github.com/puppetlabs/puppet-strings/issues/8)
28
+ - Need a search box on the main page [\#1](https://github.com/puppetlabs/puppet-strings/issues/1)
29
+
30
+ ## [v2.4.0](https://github.com/puppetlabs/puppet-strings/tree/v2.4.0) (2020-02-20)
7
31
 
8
32
  [Full Changelog](https://github.com/puppetlabs/puppet-strings/compare/v2.3.1...v2.4.0)
9
33
 
@@ -13,6 +37,10 @@ Added
13
37
  - \(PDOC-295\) Add @enum tag support for Enum data types [\#215](https://github.com/puppetlabs/puppet-strings/pull/215) ([seanmil](https://github.com/seanmil))
14
38
  - Expanded default search glob for plans. [\#214](https://github.com/puppetlabs/puppet-strings/pull/214) ([Raskil](https://github.com/Raskil))
15
39
 
40
+ **Merged pull requests:**
41
+
42
+ - \(MAINT\) Release prep for 2.4.0 [\#221](https://github.com/puppetlabs/puppet-strings/pull/221) ([scotje](https://github.com/scotje))
43
+
16
44
  ## [v2.3.1](https://github.com/puppetlabs/puppet-strings/tree/v2.3.1) (2019-09-23)
17
45
 
18
46
  [Full Changelog](https://github.com/puppetlabs/puppet-strings/compare/v2.3.0...v2.3.1)
@@ -282,4 +310,4 @@ All related tickets can be found under the [PDOC][PDOC JIRA] JIRA project with t
282
310
  - Strings will no longer crash when documenting 3x functions with less than two arguments passed into newfunction **(PDOC-27)**
283
311
 
284
312
 
285
- \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
313
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
@@ -27,8 +27,9 @@ module PuppetStrings
27
27
 
28
28
  # Format the arguments to YARD
29
29
  args = ['doc']
30
+ args << '--no-progress'
30
31
  args << '--debug' if options[:debug]
31
- args << '--backtrace' if options[:backtrace]
32
+ args << '--backtrace' if options[:debug]
32
33
  args << "-m#{options[:markup] || 'markdown'}"
33
34
 
34
35
  file = nil
@@ -42,7 +43,6 @@ module PuppetStrings
42
43
  args << '-n'
43
44
  args << '-q' unless file
44
45
  args << '--no-stats' unless file
45
- args << '--no-progress' unless file
46
46
  end
47
47
 
48
48
  yard_args = options[:yard_args]
@@ -14,7 +14,7 @@ module PuppetStrings::Markdown
14
14
  # generates markdown documentation
15
15
  # @return [String] markdown doc
16
16
  def self.generate
17
- final = "# Reference\n"
17
+ final = "# Reference\n\n"
18
18
  final << "<!-- DO NOT EDIT: This document was generated by Puppet Strings -->\n\n"
19
19
  final << PuppetStrings::Markdown::TableOfContents.render
20
20
  final << PuppetStrings::Markdown::PuppetClasses.render
@@ -169,6 +169,12 @@ module PuppetStrings::Markdown
169
169
  @tags.any? { |tag| tag[:tag_name] == 'api' && tag[:text] == 'private' }
170
170
  end
171
171
 
172
+ def word_wrap(text, line_width: 120, break_sequence: "\n")
173
+ text.split("\n").collect! do |line|
174
+ line.length > line_width ? line.gsub(/(.{1,#{line_width}})(\s+|$)/, "\\1#{break_sequence}").strip : line
175
+ end * break_sequence
176
+ end
177
+
172
178
  # @return [String] full markdown rendering of a component
173
179
  def render(template)
174
180
  file = File.join(File.dirname(__FILE__),"templates/#{template}")
@@ -4,15 +4,31 @@ module PuppetStrings::Markdown
4
4
  # This class encapsualtes ruby data types and puppet type aliases
5
5
  class DataType < Base
6
6
  attr_reader :alias_of
7
+ attr_reader :functions
7
8
 
8
9
  def initialize(registry)
9
10
  @template = 'data_type.erb'
10
11
  super(registry, 'data type')
11
12
  @alias_of = registry[:alias_of] unless registry[:alias_of].nil?
13
+ @functions = @registry[:functions].nil? ? nil : @registry[:functions].map { |func| DataType::Function.new(func) }
12
14
  end
13
15
 
14
16
  def render
15
17
  super(@template)
16
18
  end
17
19
  end
20
+
21
+ class DataType::Function < Base
22
+ def initialize(registry)
23
+ super(registry, 'data_type_function')
24
+ end
25
+
26
+ def render
27
+ super('data_type_function.erb')
28
+ end
29
+
30
+ def signature
31
+ @registry[:signature]
32
+ end
33
+ end
18
34
  end
@@ -12,11 +12,28 @@ module PuppetStrings::Markdown
12
12
  end
13
13
 
14
14
  def properties
15
- @registry[:properties]
15
+ return nil unless @registry[:properties]
16
+
17
+ @registry[:properties].sort_by { |p| p[:name] }
18
+ end
19
+
20
+ def checks
21
+ return nil unless @registry[:checks]
22
+
23
+ @registry[:checks].sort_by { |p| p[:name] }
24
+ end
25
+
26
+ # "checks" (such as "onlyif" or "creates") are another type of property
27
+ def properties_and_checks
28
+ return nil if properties.nil? && checks.nil?
29
+
30
+ ((properties || []) + (checks || [])).sort_by { |p| p[:name] }
16
31
  end
17
32
 
18
33
  def parameters
19
- @registry[:parameters]
34
+ return nil unless @registry[:parameters]
35
+
36
+ @registry[:parameters].sort_by { |p| p[:name] }
20
37
  end
21
38
 
22
39
  def regex_in_data_type?(data_type)
@@ -1,4 +1,4 @@
1
- ### <%= name %>
1
+ ### `<%= name %>`
2
2
 
3
3
  <% if text -%>
4
4
  <%= text %>
@@ -24,10 +24,10 @@
24
24
  * **See also**
25
25
  <% see.each do |sa| -%>
26
26
  <% if sa[:name] -%>
27
- <%= sa[:name] %>
27
+ <%= " * #{sa[:name]}" %>
28
28
  <% end -%>
29
29
  <% if sa[:text] -%>
30
- <%= sa[:text] %>
30
+ <%= " * #{sa[:text]}" %>
31
31
  <% end -%>
32
32
  <% end -%>
33
33
 
@@ -75,7 +75,7 @@ Options:
75
75
 
76
76
  <% end -%>
77
77
  <% if defaults && defaults[param[:name]] -%>
78
- Default value: <%= value_string(defaults[param[:name]]) %>
78
+ Default value: `<%= value_string(defaults[param[:name]]) %>`
79
79
 
80
80
  <% end -%>
81
81
  <% end -%>
@@ -1,4 +1,4 @@
1
- ### <%= name %>
1
+ ### `<%= name %>`
2
2
 
3
3
  <% if text -%>
4
4
  <%= text %>
@@ -24,10 +24,10 @@
24
24
  * **See also**
25
25
  <% see.each do |sa| -%>
26
26
  <% if sa[:name] -%>
27
- <%= sa[:name] %>
27
+ <%= " * #{sa[:name]}" %>
28
28
  <% end -%>
29
29
  <% if sa[:text] -%>
30
- <%= sa[:text] %>
30
+ <%= " * #{sa[:text]}" %>
31
31
  <% end -%>
32
32
  <% end -%>
33
33
 
@@ -79,8 +79,15 @@ Options:
79
79
 
80
80
  <% end -%>
81
81
  <% if defaults && defaults[param[:name]] -%>
82
- Default value: <%= value_string(defaults[param[:name]]) %>
82
+ Default value: `<%= value_string(defaults[param[:name]]) %>`
83
83
 
84
84
  <% end -%>
85
85
  <% end -%>
86
86
  <% end -%>
87
+ <% if functions -%>
88
+ #### Functions
89
+
90
+ The following functions are available in the `<%= name %>` <%= @type %>.
91
+
92
+ <% functions.each do |func| -%><%= func.render -%><% end -%>
93
+ <% end -%>
@@ -0,0 +1,67 @@
1
+ ### `<%= name %>`
2
+
3
+ #### `<%= signature %>`
4
+
5
+ <% if text -%>
6
+ <%= text %>
7
+
8
+ <% elsif summary -%>
9
+ <%= summary %>
10
+
11
+ <% else -%>
12
+ <%= "The #{name} function." %>
13
+
14
+ <% end -%>
15
+ <% if note -%>
16
+ * **Note** <%= note %>
17
+
18
+ <% end -%>
19
+ <% if return_type -%>
20
+ Returns: `<%= return_type %>`<% if return_val %> <%= return_val %><% end %>
21
+
22
+ <% end -%>
23
+ <% if raises -%>
24
+ Raises:
25
+ <% raises.each do |r| -%>
26
+ * <%= error_type(r[:text]) %> <%= error_text(r[:text]) %>
27
+ <% end -%>
28
+
29
+ <% end -%>
30
+ <% if examples -%>
31
+ ##### Examples
32
+
33
+ <% examples.each do |eg| -%>
34
+ ###### <%= eg[:name] %>
35
+
36
+ ```puppet
37
+ <%= eg[:text] %>
38
+ ```
39
+
40
+ <% end -%>
41
+ <% end -%>
42
+ <% if params -%>
43
+ <% params.each do |param| -%>
44
+ ##### `<%= param[:name] %>`
45
+
46
+ Data type: `<%= param[:types][0] %>`
47
+
48
+ <%= param[:text] %>
49
+
50
+ <% if options_for_param(param[:name]) -%>
51
+ Options:
52
+
53
+ <% options_for_param(param[:name]).each do |o| -%>
54
+ * **<%= o[:opt_name] %>** `<%= o[:opt_types][0] %>`: <%= o[:opt_text] %>
55
+ <% end -%>
56
+
57
+ <% end -%>
58
+ <% if enums_for_param(param[:name]) -%>
59
+ Options:
60
+
61
+ <% enums_for_param(param[:name]).each do |e| -%>
62
+ * **<%= e[:opt_name] %>**: <%= e[:opt_text] %>
63
+ <% end -%>
64
+
65
+ <% end -%>
66
+ <% end -%>
67
+ <% end -%>
@@ -1,4 +1,4 @@
1
- ### <%= name %>
1
+ ### `<%= name %>`
2
2
 
3
3
  Type: <%= type %>
4
4
 
@@ -55,6 +55,7 @@ Returns: `<%= sig.return_type %>`<% if sig.return_val %> <%= sig.return_val %><%
55
55
  <% end -%>
56
56
  <% if raises -%>
57
57
  Raises:
58
+
58
59
  <% raises.each do |r| -%>
59
60
  * <%= error_type(r[:text]) %> <%= error_text(r[:text]) %>
60
61
  <% end -%>
@@ -1,4 +1,4 @@
1
- ### <%= name %>
1
+ ### `<%= name %>`
2
2
 
3
3
  <% if text -%>
4
4
  <%= text %>
@@ -1,4 +1,4 @@
1
- ### <%= name %>
1
+ ### `<%= name %>`
2
2
 
3
3
  <% if text -%>
4
4
  <%= text %>
@@ -24,10 +24,10 @@
24
24
  * **See also**
25
25
  <% see.each do |sa| -%>
26
26
  <% if sa[:name] -%>
27
- <%= sa[:name] %>
27
+ <%= " * #{sa[:name]}" %>
28
28
  <% end -%>
29
29
  <% if sa[:text] -%>
30
- <%= sa[:text] %>
30
+ <%= " * #{sa[:text]}" %>
31
31
  <% end -%>
32
32
  <% end -%>
33
33
 
@@ -44,16 +44,16 @@
44
44
 
45
45
  <% end -%>
46
46
  <% end -%>
47
- <% if properties -%>
47
+ <% if properties_and_checks -%>
48
48
  #### Properties
49
49
 
50
50
  The following properties are available in the `<%= name %>` <%= @type %>.
51
51
 
52
- <% properties.each do |prop| -%>
52
+ <% properties_and_checks.each do |prop| -%>
53
53
  ##### `<%= prop[:name] %>`
54
54
 
55
55
  <% if prop[:values] -%>
56
- Valid values: <%= prop[:values].map { |value| value_string(value) }.join(', ') %>
56
+ Valid values: `<%= prop[:values].map { |value| value_string(value) }.join('`, `') %>`
57
57
 
58
58
  <% end -%>
59
59
  <% if prop[:isnamevar] -%>
@@ -61,7 +61,7 @@ namevar
61
61
 
62
62
  <% end -%>
63
63
  <% if prop[:aliases] -%>
64
- Aliases: <%= prop[:aliases].to_s.delete('{').delete('}') %>
64
+ Aliases: `<%= prop[:aliases].to_s.delete('{').delete('}') %>`
65
65
 
66
66
  <% end -%>
67
67
  <% if prop[:data_type] -%>
@@ -87,7 +87,7 @@ Options:
87
87
 
88
88
  <% end -%>
89
89
  <% if prop[:default] -%>
90
- Default value: <%= prop[:default] %>
90
+ Default value: `<%= prop[:default] %>`
91
91
 
92
92
  <% end -%>
93
93
  <% end -%>
@@ -101,7 +101,7 @@ The following parameters are available in the `<%= name %>` <%= @type %>.
101
101
  ##### `<%= param[:name] %>`
102
102
 
103
103
  <% if param[:values] -%>
104
- Valid values: <%= param[:values].map { |value| value_string(value) }.join(', ') %>
104
+ Valid values: `<%= param[:values].map { |value| value_string(value) }.join('`, `') %>`
105
105
 
106
106
  <% end -%>
107
107
  <% if param[:isnamevar] -%>
@@ -109,14 +109,14 @@ namevar
109
109
 
110
110
  <% end -%>
111
111
  <% if param[:aliases] -%>
112
- Aliases: <%= param[:aliases].to_s.delete('{').delete('}') %>
112
+ Aliases: `<%= param[:aliases].to_s.delete('{').delete('}') %>`
113
113
 
114
114
  <% end -%>
115
115
  <% if param[:data_type] -%>
116
116
  Data type: `<%= param[:data_type] %>`<%= "\n_\*this data type contains a regex that may not be accurately reflected in generated documentation_" if regex_in_data_type?(param[:data_type]) %>
117
117
 
118
118
  <% end -%>
119
- <%= param[:description] %>
119
+ <%= word_wrap(param[:description]) %>
120
120
 
121
121
  <% if options_for_param(param[:name]) -%>
122
122
  Options:
@@ -135,7 +135,7 @@ Options:
135
135
 
136
136
  <% end -%>
137
137
  <% if param[:default] -%>
138
- Default value: <%= value_string(param[:default]) %>
138
+ Default value: `<%= value_string(param[:default]) %>`
139
139
 
140
140
  <% end -%>
141
141
  <% if param[:required_features] -%>
@@ -1,25 +1,25 @@
1
1
  <% if group.length > 0 -%>
2
- **<%= group_name %>**
2
+ ### <%= group_name %>
3
3
 
4
4
  <% if priv -%>
5
- _Public <%= group_name %>_
5
+ #### Public <%= group_name %>
6
6
 
7
7
  <% group.each do |item| -%>
8
8
  <% unless item[:private] -%>
9
- * [`<%= item[:name] %>`](#<%= item[:link] %>): <%= item[:desc] %>
9
+ * [`<%= item[:name] %>`](#<%= item[:link] %>)<% unless item[:desc].nil? || item[:desc].empty? %>: <%= item[:desc] %><% end %>
10
10
  <% end -%>
11
11
  <% end -%>
12
12
 
13
- _Private <%= group_name %>_
13
+ #### Private <%= group_name %>
14
14
 
15
15
  <% group.each do |item| -%>
16
16
  <% if item[:private] -%>
17
- * `<%= item[:name] %>`: <%= item[:desc] %>
17
+ * `<%= item[:name] %>`<% unless item[:desc].nil? || item[:desc].empty? %>: <%= item[:desc] %><% end %>
18
18
  <% end -%>
19
19
  <% end -%>
20
20
  <% else -%>
21
21
  <% group.each do |item| -%>
22
- * [`<%= item[:name] %>`](#<%= item[:link] %>): <%= item[:desc] %>
22
+ * [`<%= item[:name] %>`](#<%= item[:link] %>)<% unless item[:desc].nil? || item[:desc].empty? %>: <%= item[:desc] %><% end %>
23
23
  <% end -%>
24
24
  <% end -%>
25
25
 
@@ -1,3 +1,3 @@
1
1
  module PuppetStrings
2
- VERSION = '2.4.0'.freeze
2
+ VERSION = '2.5.0'.freeze
3
3
  end