openvox-strings 5.0.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 (175) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +407 -0
  3. data/LICENSE +177 -0
  4. data/README.md +116 -0
  5. data/lib/openvox-strings/describe.rb +75 -0
  6. data/lib/openvox-strings/json.rb +33 -0
  7. data/lib/openvox-strings/markdown/base.rb +236 -0
  8. data/lib/openvox-strings/markdown/data_type.rb +39 -0
  9. data/lib/openvox-strings/markdown/defined_type.rb +20 -0
  10. data/lib/openvox-strings/markdown/function.rb +59 -0
  11. data/lib/openvox-strings/markdown/helpers.rb +21 -0
  12. data/lib/openvox-strings/markdown/puppet_class.rb +20 -0
  13. data/lib/openvox-strings/markdown/puppet_plan.rb +20 -0
  14. data/lib/openvox-strings/markdown/puppet_task.rb +29 -0
  15. data/lib/openvox-strings/markdown/resource_type.rb +56 -0
  16. data/lib/openvox-strings/markdown/templates/classes_and_defines.erb +94 -0
  17. data/lib/openvox-strings/markdown/templates/data_type.erb +101 -0
  18. data/lib/openvox-strings/markdown/templates/data_type_function.erb +67 -0
  19. data/lib/openvox-strings/markdown/templates/function.erb +106 -0
  20. data/lib/openvox-strings/markdown/templates/puppet_task.erb +28 -0
  21. data/lib/openvox-strings/markdown/templates/resource_type.erb +156 -0
  22. data/lib/openvox-strings/markdown/templates/table_of_contents.erb +26 -0
  23. data/lib/openvox-strings/markdown.rb +81 -0
  24. data/lib/openvox-strings/monkey_patches/display_object_command.rb +16 -0
  25. data/lib/openvox-strings/tasks/generate.rb +54 -0
  26. data/lib/openvox-strings/tasks/gh_pages.rb +72 -0
  27. data/lib/openvox-strings/tasks/validate.rb +42 -0
  28. data/lib/openvox-strings/tasks.rb +14 -0
  29. data/lib/openvox-strings/version.rb +5 -0
  30. data/lib/openvox-strings/yard/code_objects/base.rb +16 -0
  31. data/lib/openvox-strings/yard/code_objects/class.rb +60 -0
  32. data/lib/openvox-strings/yard/code_objects/data_type.rb +102 -0
  33. data/lib/openvox-strings/yard/code_objects/data_type_alias.rb +60 -0
  34. data/lib/openvox-strings/yard/code_objects/defined_type.rb +59 -0
  35. data/lib/openvox-strings/yard/code_objects/function.rb +106 -0
  36. data/lib/openvox-strings/yard/code_objects/group.rb +33 -0
  37. data/lib/openvox-strings/yard/code_objects/plan.rb +59 -0
  38. data/lib/openvox-strings/yard/code_objects/provider.rb +98 -0
  39. data/lib/openvox-strings/yard/code_objects/task.rb +69 -0
  40. data/lib/openvox-strings/yard/code_objects/type.rb +196 -0
  41. data/lib/openvox-strings/yard/code_objects.rb +14 -0
  42. data/lib/openvox-strings/yard/handlers/helpers.rb +10 -0
  43. data/lib/openvox-strings/yard/handlers/json/base.rb +8 -0
  44. data/lib/openvox-strings/yard/handlers/json/task_handler.rb +34 -0
  45. data/lib/openvox-strings/yard/handlers/puppet/base.rb +52 -0
  46. data/lib/openvox-strings/yard/handlers/puppet/class_handler.rb +29 -0
  47. data/lib/openvox-strings/yard/handlers/puppet/data_type_alias_handler.rb +26 -0
  48. data/lib/openvox-strings/yard/handlers/puppet/defined_type_handler.rb +29 -0
  49. data/lib/openvox-strings/yard/handlers/puppet/function_handler.rb +54 -0
  50. data/lib/openvox-strings/yard/handlers/puppet/plan_handler.rb +29 -0
  51. data/lib/openvox-strings/yard/handlers/ruby/base.rb +55 -0
  52. data/lib/openvox-strings/yard/handlers/ruby/data_type_handler.rb +411 -0
  53. data/lib/openvox-strings/yard/handlers/ruby/function_handler.rb +386 -0
  54. data/lib/openvox-strings/yard/handlers/ruby/provider_handler.rb +127 -0
  55. data/lib/openvox-strings/yard/handlers/ruby/rsapi_handler.rb +157 -0
  56. data/lib/openvox-strings/yard/handlers/ruby/type_base.rb +146 -0
  57. data/lib/openvox-strings/yard/handlers/ruby/type_extras_handler.rb +65 -0
  58. data/lib/openvox-strings/yard/handlers/ruby/type_handler.rb +105 -0
  59. data/lib/openvox-strings/yard/handlers.rb +28 -0
  60. data/lib/openvox-strings/yard/parsers/json/parser.rb +38 -0
  61. data/lib/openvox-strings/yard/parsers/json/task_statement.rb +37 -0
  62. data/lib/openvox-strings/yard/parsers/puppet/parser.rb +89 -0
  63. data/lib/openvox-strings/yard/parsers/puppet/statement.rb +182 -0
  64. data/lib/openvox-strings/yard/parsers.rb +14 -0
  65. data/lib/openvox-strings/yard/tags/enum_tag.rb +13 -0
  66. data/lib/openvox-strings/yard/tags/factory.rb +18 -0
  67. data/lib/openvox-strings/yard/tags/overload_tag.rb +112 -0
  68. data/lib/openvox-strings/yard/tags/parameter_directive.rb +25 -0
  69. data/lib/openvox-strings/yard/tags/property_directive.rb +25 -0
  70. data/lib/openvox-strings/yard/tags/summary_tag.rb +10 -0
  71. data/lib/openvox-strings/yard/tags.rb +11 -0
  72. data/lib/openvox-strings/yard/templates/default/fulldoc/html/css/common.css +8 -0
  73. data/lib/openvox-strings/yard/templates/default/fulldoc/html/full_list_puppet_class.erb +9 -0
  74. data/lib/openvox-strings/yard/templates/default/fulldoc/html/full_list_puppet_data_type.erb +10 -0
  75. data/lib/openvox-strings/yard/templates/default/fulldoc/html/full_list_puppet_defined_type.erb +9 -0
  76. data/lib/openvox-strings/yard/templates/default/fulldoc/html/full_list_puppet_function.erb +10 -0
  77. data/lib/openvox-strings/yard/templates/default/fulldoc/html/full_list_puppet_plan.erb +9 -0
  78. data/lib/openvox-strings/yard/templates/default/fulldoc/html/full_list_puppet_provider.erb +10 -0
  79. data/lib/openvox-strings/yard/templates/default/fulldoc/html/full_list_puppet_task.erb +9 -0
  80. data/lib/openvox-strings/yard/templates/default/fulldoc/html/full_list_puppet_type.erb +9 -0
  81. data/lib/openvox-strings/yard/templates/default/fulldoc/html/setup.rb +93 -0
  82. data/lib/openvox-strings/yard/templates/default/layout/html/footer.erb +3 -0
  83. data/lib/openvox-strings/yard/templates/default/layout/html/objects.erb +37 -0
  84. data/lib/openvox-strings/yard/templates/default/layout/html/setup.rb +231 -0
  85. data/lib/openvox-strings/yard/templates/default/puppet_class/html/box_info.erb +26 -0
  86. data/lib/openvox-strings/yard/templates/default/puppet_class/html/deprecated.erb +6 -0
  87. data/lib/openvox-strings/yard/templates/default/puppet_class/html/header.erb +1 -0
  88. data/lib/openvox-strings/yard/templates/default/puppet_class/html/note.erb +6 -0
  89. data/lib/openvox-strings/yard/templates/default/puppet_class/html/overview.erb +6 -0
  90. data/lib/openvox-strings/yard/templates/default/puppet_class/html/setup.rb +16 -0
  91. data/lib/openvox-strings/yard/templates/default/puppet_class/html/source.erb +12 -0
  92. data/lib/openvox-strings/yard/templates/default/puppet_class/html/summary.erb +4 -0
  93. data/lib/openvox-strings/yard/templates/default/puppet_class/html/todo.erb +6 -0
  94. data/lib/openvox-strings/yard/templates/default/puppet_data_type/html/box_info.erb +10 -0
  95. data/lib/openvox-strings/yard/templates/default/puppet_data_type/html/deprecated.erb +6 -0
  96. data/lib/openvox-strings/yard/templates/default/puppet_data_type/html/header.erb +1 -0
  97. data/lib/openvox-strings/yard/templates/default/puppet_data_type/html/method_details_list.erb +6 -0
  98. data/lib/openvox-strings/yard/templates/default/puppet_data_type/html/note.erb +6 -0
  99. data/lib/openvox-strings/yard/templates/default/puppet_data_type/html/overview.erb +6 -0
  100. data/lib/openvox-strings/yard/templates/default/puppet_data_type/html/setup.rb +15 -0
  101. data/lib/openvox-strings/yard/templates/default/puppet_data_type/html/source.erb +12 -0
  102. data/lib/openvox-strings/yard/templates/default/puppet_data_type/html/summary.erb +4 -0
  103. data/lib/openvox-strings/yard/templates/default/puppet_data_type/html/todo.erb +6 -0
  104. data/lib/openvox-strings/yard/templates/default/puppet_data_type_alias/html/alias_of.erb +10 -0
  105. data/lib/openvox-strings/yard/templates/default/puppet_data_type_alias/html/box_info.erb +10 -0
  106. data/lib/openvox-strings/yard/templates/default/puppet_data_type_alias/html/deprecated.erb +6 -0
  107. data/lib/openvox-strings/yard/templates/default/puppet_data_type_alias/html/header.erb +1 -0
  108. data/lib/openvox-strings/yard/templates/default/puppet_data_type_alias/html/note.erb +6 -0
  109. data/lib/openvox-strings/yard/templates/default/puppet_data_type_alias/html/overview.erb +6 -0
  110. data/lib/openvox-strings/yard/templates/default/puppet_data_type_alias/html/setup.rb +19 -0
  111. data/lib/openvox-strings/yard/templates/default/puppet_data_type_alias/html/source.erb +12 -0
  112. data/lib/openvox-strings/yard/templates/default/puppet_data_type_alias/html/summary.erb +4 -0
  113. data/lib/openvox-strings/yard/templates/default/puppet_data_type_alias/html/todo.erb +6 -0
  114. data/lib/openvox-strings/yard/templates/default/puppet_defined_type/html/box_info.erb +10 -0
  115. data/lib/openvox-strings/yard/templates/default/puppet_defined_type/html/deprecated.erb +6 -0
  116. data/lib/openvox-strings/yard/templates/default/puppet_defined_type/html/header.erb +1 -0
  117. data/lib/openvox-strings/yard/templates/default/puppet_defined_type/html/note.erb +6 -0
  118. data/lib/openvox-strings/yard/templates/default/puppet_defined_type/html/overview.erb +6 -0
  119. data/lib/openvox-strings/yard/templates/default/puppet_defined_type/html/setup.rb +7 -0
  120. data/lib/openvox-strings/yard/templates/default/puppet_defined_type/html/source.erb +12 -0
  121. data/lib/openvox-strings/yard/templates/default/puppet_defined_type/html/summary.erb +4 -0
  122. data/lib/openvox-strings/yard/templates/default/puppet_defined_type/html/todo.erb +6 -0
  123. data/lib/openvox-strings/yard/templates/default/puppet_function/html/box_info.erb +14 -0
  124. data/lib/openvox-strings/yard/templates/default/puppet_function/html/deprecated.erb +6 -0
  125. data/lib/openvox-strings/yard/templates/default/puppet_function/html/header.erb +1 -0
  126. data/lib/openvox-strings/yard/templates/default/puppet_function/html/note.erb +6 -0
  127. data/lib/openvox-strings/yard/templates/default/puppet_function/html/overview.erb +18 -0
  128. data/lib/openvox-strings/yard/templates/default/puppet_function/html/setup.rb +7 -0
  129. data/lib/openvox-strings/yard/templates/default/puppet_function/html/source.erb +12 -0
  130. data/lib/openvox-strings/yard/templates/default/puppet_function/html/summary.erb +4 -0
  131. data/lib/openvox-strings/yard/templates/default/puppet_function/html/todo.erb +6 -0
  132. data/lib/openvox-strings/yard/templates/default/puppet_plan/html/box_info.erb +10 -0
  133. data/lib/openvox-strings/yard/templates/default/puppet_plan/html/deprecated.erb +6 -0
  134. data/lib/openvox-strings/yard/templates/default/puppet_plan/html/header.erb +1 -0
  135. data/lib/openvox-strings/yard/templates/default/puppet_plan/html/note.erb +6 -0
  136. data/lib/openvox-strings/yard/templates/default/puppet_plan/html/overview.erb +6 -0
  137. data/lib/openvox-strings/yard/templates/default/puppet_plan/html/setup.rb +13 -0
  138. data/lib/openvox-strings/yard/templates/default/puppet_plan/html/source.erb +12 -0
  139. data/lib/openvox-strings/yard/templates/default/puppet_plan/html/summary.erb +4 -0
  140. data/lib/openvox-strings/yard/templates/default/puppet_plan/html/todo.erb +6 -0
  141. data/lib/openvox-strings/yard/templates/default/puppet_provider/html/box_info.erb +14 -0
  142. data/lib/openvox-strings/yard/templates/default/puppet_provider/html/collection.erb +17 -0
  143. data/lib/openvox-strings/yard/templates/default/puppet_provider/html/features.erb +12 -0
  144. data/lib/openvox-strings/yard/templates/default/puppet_provider/html/header.erb +1 -0
  145. data/lib/openvox-strings/yard/templates/default/puppet_provider/html/overview.erb +6 -0
  146. data/lib/openvox-strings/yard/templates/default/puppet_provider/html/setup.rb +31 -0
  147. data/lib/openvox-strings/yard/templates/default/puppet_provider/html/summary.erb +4 -0
  148. data/lib/openvox-strings/yard/templates/default/puppet_task/html/box_info.erb +9 -0
  149. data/lib/openvox-strings/yard/templates/default/puppet_task/html/header.erb +1 -0
  150. data/lib/openvox-strings/yard/templates/default/puppet_task/html/input.erb +5 -0
  151. data/lib/openvox-strings/yard/templates/default/puppet_task/html/overview.erb +6 -0
  152. data/lib/openvox-strings/yard/templates/default/puppet_task/html/parameters.erb +16 -0
  153. data/lib/openvox-strings/yard/templates/default/puppet_task/html/setup.rb +24 -0
  154. data/lib/openvox-strings/yard/templates/default/puppet_task/html/supports_noop.erb +3 -0
  155. data/lib/openvox-strings/yard/templates/default/puppet_type/html/box_info.erb +20 -0
  156. data/lib/openvox-strings/yard/templates/default/puppet_type/html/deprecated.erb +6 -0
  157. data/lib/openvox-strings/yard/templates/default/puppet_type/html/features.erb +13 -0
  158. data/lib/openvox-strings/yard/templates/default/puppet_type/html/header.erb +1 -0
  159. data/lib/openvox-strings/yard/templates/default/puppet_type/html/note.erb +6 -0
  160. data/lib/openvox-strings/yard/templates/default/puppet_type/html/overview.erb +6 -0
  161. data/lib/openvox-strings/yard/templates/default/puppet_type/html/parameters.erb +35 -0
  162. data/lib/openvox-strings/yard/templates/default/puppet_type/html/setup.rb +36 -0
  163. data/lib/openvox-strings/yard/templates/default/puppet_type/html/summary.erb +4 -0
  164. data/lib/openvox-strings/yard/templates/default/puppet_type/html/todo.erb +6 -0
  165. data/lib/openvox-strings/yard/templates/default/tags/html/enum.erb +17 -0
  166. data/lib/openvox-strings/yard/templates/default/tags/html/puppet_overload.erb +12 -0
  167. data/lib/openvox-strings/yard/templates/default/tags/setup.rb +20 -0
  168. data/lib/openvox-strings/yard/util.rb +87 -0
  169. data/lib/openvox-strings/yard.rb +132 -0
  170. data/lib/openvox-strings.rb +88 -0
  171. data/lib/puppet/application/strings.rb +7 -0
  172. data/lib/puppet/face/strings.rb +185 -0
  173. data/lib/puppet/feature/rgen.rb +5 -0
  174. data/lib/puppet/feature/yard.rb +5 -0
  175. metadata +263 -0
@@ -0,0 +1,231 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Initializes the template.
4
+ # @return [void]
5
+ def init
6
+ case object
7
+ when '_index.html'
8
+ @page_title = options.title
9
+ sections :layout, [:index, [:listing, %i[classes data_types defined_types types providers functions tasks plans files objects]]]
10
+ else
11
+ super
12
+ end
13
+ end
14
+
15
+ # Renders the layout section.
16
+ # @return [String] Returns the rendered section.
17
+ def layout
18
+ @nav_url = url_for_list(!@file || options.index ? menu_lists.first[:type] : 'file')
19
+
20
+ case object
21
+ when nil, String
22
+ @path = nil
23
+ when @file
24
+ @path = @file.path
25
+ when !object.is_a?(YARD::CodeObjects::NamespaceObject)
26
+ @path = object.parent.path
27
+ @nav_url = url_for_list('class')
28
+ when YARD::CodeObjects::ClassObject
29
+ @path = object.path
30
+ @nav_url = url_for_list('class')
31
+ when OpenvoxStrings::Yard::CodeObjects::Class
32
+ @nav_url = url_for_list('puppet_class')
33
+ @page_title = "Puppet Class: #{object.name}"
34
+ @path = object.path
35
+ when OpenvoxStrings::Yard::CodeObjects::DataType, OpenvoxStrings::Yard::CodeObjects::DataTypeAlias
36
+ @nav_url = url_for_list('puppet_data_type')
37
+ @page_title = "Data Type: #{object.name}"
38
+ @path = object.path
39
+ when OpenvoxStrings::Yard::CodeObjects::DefinedType
40
+ @nav_url = url_for_list('puppet_defined_type')
41
+ @page_title = "Defined Type: #{object.name}"
42
+ @path = object.path
43
+ when OpenvoxStrings::Yard::CodeObjects::Type
44
+ @nav_url = url_for_list('puppet_type')
45
+ @page_title = "Resource Type: #{object.name}"
46
+ @path = object.path
47
+ when OpenvoxStrings::Yard::CodeObjects::Provider
48
+ @nav_url = url_for_list('puppet_provider')
49
+ @page_title = "Provider: #{object.name}"
50
+ @path = object.path
51
+ when OpenvoxStrings::Yard::CodeObjects::Function
52
+ @nav_url = url_for_list('puppet_function')
53
+ @page_title = "Puppet Function: #{object.name} (#{object.function_type})"
54
+ @path = object.path
55
+ when OpenvoxStrings::Yard::CodeObjects::Task
56
+ @nav_url = url_for_list('puppet_task')
57
+ @page_title = "Puppet Task: #{object.name}"
58
+ @path = object.path
59
+ when OpenvoxStrings::Yard::CodeObjects::Plan
60
+ @nav_url = url_for_list('puppet_plan')
61
+ @page_title = "Puppet Plan: #{object.name}"
62
+ @path = object.path
63
+ else
64
+ @path = object.path
65
+ end
66
+
67
+ final_layout = erb(:layout)
68
+
69
+ OpenvoxStrings::Yard::Util.github_to_yard_links(final_layout) if @file && @file.name == 'README'
70
+
71
+ final_layout
72
+ end
73
+
74
+ # Creates the dynamic menu lists.
75
+ # @return [Array<Hash>] Returns the dynamic menu list.
76
+ def create_menu_lists
77
+ menu_lists = [
78
+ {
79
+ type: 'puppet_class',
80
+ title: 'Puppet Classes',
81
+ search_title: 'Puppet Classes'
82
+ },
83
+ {
84
+ type: 'puppet_data_type',
85
+ title: 'Data Types',
86
+ search_title: 'Data Types'
87
+ },
88
+ {
89
+ type: 'puppet_defined_type',
90
+ title: 'Defined Types',
91
+ search_title: 'Defined Types'
92
+ },
93
+ {
94
+ type: 'puppet_type',
95
+ title: 'Resource Types',
96
+ search_title: 'Resource Types'
97
+ },
98
+ {
99
+ type: 'puppet_provider',
100
+ title: 'Providers',
101
+ search_title: 'Providers'
102
+ },
103
+ {
104
+ type: 'puppet_function',
105
+ title: 'Puppet Functions',
106
+ search_title: 'Puppet Functions'
107
+ },
108
+ {
109
+ type: 'puppet_task',
110
+ title: 'Puppet Tasks',
111
+ search_totle: 'Puppet Tasks'
112
+ },
113
+ {
114
+ type: 'puppet_plan',
115
+ title: 'Puppet Plans',
116
+ search_totle: 'Puppet Plans'
117
+ },
118
+ {
119
+ type: 'class',
120
+ title: 'Ruby Classes',
121
+ search_title: 'Class List'
122
+ },
123
+ {
124
+ type: 'method',
125
+ title: 'Ruby Methods',
126
+ search_title: 'Method List'
127
+ }
128
+ ]
129
+
130
+ menu_lists.delete_if { |e| YARD::Registry.all(e[:type].intern).empty? }
131
+
132
+ # We must always return at least one group, so always keep the files list
133
+ if menu_lists.empty? || !YARD::Registry.all(:file).empty?
134
+ menu_lists << {
135
+ type: 'file',
136
+ title: 'Files',
137
+ search_title: 'File List'
138
+ }
139
+ end
140
+
141
+ menu_lists
142
+ end
143
+
144
+ # Gets the menu lists to use.
145
+ # @return [Array<Hash] Returns the menu lists to use.
146
+ def menu_lists
147
+ @@lists ||= create_menu_lists.freeze
148
+ end
149
+
150
+ # Builds a list of objects by letter.
151
+ # @param [Array] types The types of objects to find.
152
+ # @return [Hash] Returns a hash of first letter of the object name to list of objects.
153
+ def objects_by_letter(*types)
154
+ hash = {}
155
+ objects = Registry.all(*types).sort_by { |o| o.name.to_s }
156
+ objects = run_verifier(objects)
157
+ objects.each { |o| (hash[o.name.to_s[0, 1].upcase] ||= []) << o }
158
+ hash
159
+ end
160
+
161
+ # Renders the classes section.
162
+ # @return [String] Returns the rendered section.
163
+ def classes
164
+ @title = 'Puppet Class Listing A-Z'
165
+ @objects_by_letter = objects_by_letter(:puppet_class)
166
+ erb(:objects)
167
+ end
168
+
169
+ # Renders the data types section.
170
+ # @return [String] Returns the rendered section.
171
+ def data_types
172
+ @title = 'Data Type Listing A-Z'
173
+ @objects_by_letter = objects_by_letter(:puppet_data_type, :puppet_data_type_alias)
174
+ erb(:objects)
175
+ end
176
+
177
+ # Renders the defined types section.
178
+ # @return [String] Returns the rendered section.
179
+ def defined_types
180
+ @title = 'Defined Type Listing A-Z'
181
+ @objects_by_letter = objects_by_letter(:puppet_defined_type)
182
+ erb(:objects)
183
+ end
184
+
185
+ # Renders the types section.
186
+ # @return [String] Returns the rendered section.
187
+ def types
188
+ @title = 'Resource Type Listing A-Z'
189
+ @objects_by_letter = objects_by_letter(:puppet_type)
190
+ erb(:objects)
191
+ end
192
+
193
+ # Renders the providers section.
194
+ # @return [String] Returns the rendered section.
195
+ def providers
196
+ @title = 'Puppet Provider Listing A-Z'
197
+ @objects_by_letter = objects_by_letter(:puppet_provider)
198
+ erb(:objects)
199
+ end
200
+
201
+ # Renders the functions section.
202
+ # @return [String] Returns the rendered section.
203
+ def functions
204
+ @title = 'Puppet Function Listing A-Z'
205
+ @objects_by_letter = objects_by_letter(:puppet_function)
206
+ erb(:objects)
207
+ end
208
+
209
+ # Renders the tasks section.
210
+ # @return [String] Returns the rendered section.
211
+ def tasks
212
+ @title = 'Puppet Task Listing A-Z'
213
+ @objects_by_letter = objects_by_letter(:puppet_task)
214
+ erb(:objects)
215
+ end
216
+
217
+ # Renders the plans section.
218
+ # @return [String] Returns the rendered section.
219
+ def plans
220
+ @title = 'Puppet Plan Listing A-Z'
221
+ @objects_by_letter = objects_by_letter(:puppet_plan)
222
+ erb(:objects)
223
+ end
224
+
225
+ # Renders the objects section.
226
+ # @return [String] Returns the rendered section.
227
+ def objects
228
+ @title = 'Ruby Namespace Listing A-Z'
229
+ @objects_by_letter = objects_by_letter(:class, :module)
230
+ erb(:objects)
231
+ end
@@ -0,0 +1,26 @@
1
+ <div class="box_info">
2
+ <% if object.statement.parent_class %>
3
+ <dl>
4
+ <dt>Inherits:</dt>
5
+ <dd><%= linkify(Registry["puppet_classes::#{object.statement.parent_class}"], object.statement.parent_class.dup) %></dd>
6
+ </dl>
7
+ <% end %>
8
+ <% if @subclasses && !@subclasses.empty? %>
9
+ <dl>
10
+ <dt>Inherited by:</dt>
11
+ <dd>
12
+ <% @subclasses.each do |subclass| %>
13
+ <%= linkify(subclass, subclass.name.to_s) %><br/>
14
+ <% end %>
15
+ </dd>
16
+ </dl>
17
+ <% end %>
18
+ <dl>
19
+ <dt>Defined in:</dt>
20
+ <dd>
21
+ <%= object.file %><% if object.files.size > 1 %><span class="defines">,<br />
22
+ <%= object.files[1..-1].map {|f| f.first }.join(",<br /> ") %></div>
23
+ <% end %>
24
+ </dd>
25
+ </dl>
26
+ </div>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:deprecated).each do |tag| %>
2
+ <div class="note deprecated">
3
+ <strong>DEPRECATED:</strong>
4
+ <%= htmlify_line deprecated.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1 @@
1
+ <h1>Puppet Class: <%= object.name %></h1>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:note).each do |tag| %>
2
+ <div class="note notetag">
3
+ <strong>Note:</strong>
4
+ <%= htmlify_line tag.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h2>Overview</h2>
2
+ <div class="docstring">
3
+ <div class="discussion">
4
+ <%= htmlify(object.docstring) %>
5
+ </div>
6
+ </div>
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Initializes the template.
4
+ # @return [void]
5
+ def init
6
+ sections :header, :box_info, :summary, :overview, :note, :todo, :deprecated, T('tags'), :source
7
+ end
8
+
9
+ # Renders the box_info section.
10
+ # @return [String] Returns the rendered section.
11
+ def box_info
12
+ @subclasses = Registry.all(:puppet_class).find_all do |c|
13
+ c.statement.parent_class == object.name.to_s
14
+ end
15
+ erb(:box_info)
16
+ end
@@ -0,0 +1,12 @@
1
+ <div class="method_details_list">
2
+ <table class="source_code">
3
+ <tr>
4
+ <td>
5
+ <pre class="lines"><%= "\n\n\n" %><%= h format_lines(object) %></pre>
6
+ </td>
7
+ <td>
8
+ <pre class="code"><span class="info file"># File '<%= h object.file %>'<% if object.line %>, line <%= object.line %><% end %></span><%= "\n\n" %><%= html_syntax_highlight object.source %></pre>
9
+ </td>
10
+ </tr>
11
+ </table>
12
+ </div>
@@ -0,0 +1,4 @@
1
+ <% if object.docstring.has_tag?(:summary) %>
2
+ <h2>Summary</h2>
3
+ <%= object.docstring.tag(:summary).text %>
4
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:todo).each do |tag| %>
2
+ <div class="note todo">
3
+ <strong>TODO:</strong>
4
+ <%= htmlify_line tag.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1,10 @@
1
+ <div class="box_info">
2
+ <dl>
3
+ <dt>Defined in:</dt>
4
+ <dd>
5
+ <%= object.file %><% if object.files.size > 1 %><span class="defines">,<br />
6
+ <%= object.files[1..-1].map {|f| f.first }.join(",<br /> ") %></div>
7
+ <% end %>
8
+ </dd>
9
+ </dl>
10
+ </div>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:deprecated).each do |tag| %>
2
+ <div class="note deprecated">
3
+ <strong>DEPRECATED:</strong>
4
+ <%= htmlify_line deprecated.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1 @@
1
+ <h1>Puppet Data Type: <%= object.name %></h1>
@@ -0,0 +1,6 @@
1
+ <h2>Data Type Functions</h2>
2
+ <% method_listing.each_with_index do |meth, i| %>
3
+ <div id="<%= meth.name %>-instance_method"><h3><%= meth.name %></h3>
4
+ <%= yieldall :object => meth, :owner => object, :index => i %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:note).each do |tag| %>
2
+ <div class="note notetag">
3
+ <strong>Note:</strong>
4
+ <%= htmlify_line tag.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h2>Overview</h2>
2
+ <div class="docstring">
3
+ <div class="discussion">
4
+ <%= htmlify(object.docstring) %>
5
+ </div>
6
+ </div>
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Initializes the template.
4
+ # @return [void]
5
+ def init
6
+ sections :header, :box_info, :summary, :overview, :note, :todo, :deprecated, T('tags'), :method_details_list, [T('method_details')], :source
7
+ end
8
+
9
+ def method_listing
10
+ sort_listing(object.functions)
11
+ end
12
+
13
+ def sort_listing(list)
14
+ list.sort_by { |o| [o.scope.to_s, o.name.to_s.downcase] }
15
+ end
@@ -0,0 +1,12 @@
1
+ <div class="method_details_list">
2
+ <table class="source_code">
3
+ <tr>
4
+ <td>
5
+ <pre class="lines"><%= "\n\n\n" %><%= h format_lines(object) %></pre>
6
+ </td>
7
+ <td>
8
+ <pre class="code"><span class="info file"># File '<%= h object.file %>'<% if object.line %>, line <%= object.line %><% end %></span><%= "\n\n" %><%= html_syntax_highlight object.source %></pre>
9
+ </td>
10
+ </tr>
11
+ </table>
12
+ </div>
@@ -0,0 +1,4 @@
1
+ <% if object.docstring.has_tag?(:summary) %>
2
+ <h2>Summary</h2>
3
+ <%= object.docstring.tag(:summary).text %>
4
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:todo).each do |tag| %>
2
+ <div class="note todo">
3
+ <strong>TODO:</strong>
4
+ <%= htmlify_line tag.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1,10 @@
1
+ <% if @alias_of && !@alias_of.empty? %>
2
+ <div class="tags">
3
+ <p class="tag_title"><%= @tag_title %></p>
4
+ <div class="docstring">
5
+ <div class="discussion">
6
+ <pre class="code"><span class="info"><%= @alias_of %></span></pre>
7
+ </div>
8
+ </div>
9
+ </div>
10
+ <% end %>
@@ -0,0 +1,10 @@
1
+ <div class="box_info">
2
+ <dl>
3
+ <dt>Defined in:</dt>
4
+ <dd>
5
+ <%= object.file %><% if object.files.size > 1 %><span class="defines">,<br />
6
+ <%= object.files[1..-1].map {|f| f.first }.join(",<br /> ") %></div>
7
+ <% end %>
8
+ </dd>
9
+ </dl>
10
+ </div>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:deprecated).each do |tag| %>
2
+ <div class="note deprecated">
3
+ <strong>DEPRECATED:</strong>
4
+ <%= htmlify_line deprecated.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1 @@
1
+ <h1>Puppet Data Type Alias: <%= object.name %></h1>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:note).each do |tag| %>
2
+ <div class="note notetag">
3
+ <strong>Note:</strong>
4
+ <%= htmlify_line tag.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h2>Overview</h2>
2
+ <div class="docstring">
3
+ <div class="discussion">
4
+ <%= htmlify(object.docstring) %>
5
+ </div>
6
+ </div>
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Initializes the template.
4
+ # @return [void]
5
+ def init
6
+ sections :header, :box_info, :summary, :overview, :alias_of, :note, :todo, :deprecated, T('tags'), :source
7
+ end
8
+
9
+ # Renders the alias_of section.
10
+ # @return [String] Returns the rendered section.
11
+ def alias_of
12
+ # Properties are the same thing as parameters (from the documentation standpoint),
13
+ # so reuse the same template but with a different title and data source.
14
+ # @parameters = object.properties || []
15
+ # @parameters.sort_by! { |p| p.name }
16
+ @tag_title = 'Alias of'
17
+ @alias_of = object.alias_of
18
+ erb(:alias_of)
19
+ end
@@ -0,0 +1,12 @@
1
+ <div class="method_details_list">
2
+ <table class="source_code">
3
+ <tr>
4
+ <td>
5
+ <pre class="lines"><%= "\n\n\n" %><%= h format_lines(object) %></pre>
6
+ </td>
7
+ <td>
8
+ <pre class="code"><span class="info file"># File '<%= h object.file %>'<% if object.line %>, line <%= object.line %><% end %></span><%= "\n\n" %><%= html_syntax_highlight object.source %></pre>
9
+ </td>
10
+ </tr>
11
+ </table>
12
+ </div>
@@ -0,0 +1,4 @@
1
+ <% if object.docstring.has_tag?(:summary) %>
2
+ <h2>Summary</h2>
3
+ <%= object.docstring.tag(:summary).text %>
4
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:todo).each do |tag| %>
2
+ <div class="note todo">
3
+ <strong>TODO:</strong>
4
+ <%= htmlify_line tag.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1,10 @@
1
+ <div class="box_info">
2
+ <dl>
3
+ <dt>Defined in:</dt>
4
+ <dd>
5
+ <%= object.file %><% if object.files.size > 1 %><span class="defines">,<br />
6
+ <%= object.files[1..-1].map {|f| f.first }.join(",<br /> ") %></div>
7
+ <% end %>
8
+ </dd>
9
+ </dl>
10
+ </div>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:deprecated).each do |tag| %>
2
+ <div class="note deprecated">
3
+ <strong>DEPRECATED:</strong>
4
+ <%= htmlify_line deprecated.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1 @@
1
+ <h1>Defined Type: <%= object.name %></h1>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:note).each do |tag| %>
2
+ <div class="note notetag">
3
+ <strong>Note:</strong>
4
+ <%= htmlify_line tag.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h2>Overview</h2>
2
+ <div class="docstring">
3
+ <div class="discussion">
4
+ <%= htmlify(object.docstring) %>
5
+ </div>
6
+ </div>
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Initializes the template.
4
+ # @return [void]
5
+ def init
6
+ sections :header, :box_info, :summary, :overview, :note, :todo, :deprecated, T('tags'), :source
7
+ end
@@ -0,0 +1,12 @@
1
+ <div class="method_details_list">
2
+ <table class="source_code">
3
+ <tr>
4
+ <td>
5
+ <pre class="lines"><%= "\n\n\n" %><%= h format_lines(object) %></pre>
6
+ </td>
7
+ <td>
8
+ <pre class="code"><span class="info file"># File '<%= h object.file %>'<% if object.line %>, line <%= object.line %><% end %></span><%= "\n\n" %><%= html_syntax_highlight object.source %></pre>
9
+ </td>
10
+ </tr>
11
+ </table>
12
+ </div>
@@ -0,0 +1,4 @@
1
+ <% if object.docstring.has_tag?(:summary) %>
2
+ <h2>Summary</h2>
3
+ <%= object.docstring.tag(:summary).text %>
4
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:todo).each do |tag| %>
2
+ <div class="note todo">
3
+ <strong>TODO:</strong>
4
+ <%= htmlify_line tag.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1,14 @@
1
+ <div class="box_info">
2
+ <dl>
3
+ <dt>Defined in:</dt>
4
+ <dd>
5
+ <%= object.file %><% if object.files.size > 1 %><span class="defines">,<br />
6
+ <%= object.files[1..-1].map {|f| f.first }.join(",<br /> ") %></div>
7
+ <% end %>
8
+ </dd>
9
+ </dl>
10
+ <dl>
11
+ <dt>Function type:</dt>
12
+ <dd><%= object.function_type %></dd>
13
+ </dl>
14
+ </div>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:deprecated).each do |tag| %>
2
+ <div class="note deprecated">
3
+ <strong>DEPRECATED:</strong>
4
+ <%= htmlify_line deprecated.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1 @@
1
+ <h1>Puppet Function: <%= object.name %></h1>
@@ -0,0 +1,6 @@
1
+ <% object.tags(:note).each do |tag| %>
2
+ <div class="note notetag">
3
+ <strong>Note:</strong>
4
+ <%= htmlify_line tag.text %>
5
+ </div>
6
+ <% end %>
@@ -0,0 +1,18 @@
1
+ <h2>Overview</h2>
2
+ <div class="method_details first">
3
+ <% unless object.has_tag? :overload %>
4
+ <div class="tags overload overload_item">
5
+ <span class="overload">
6
+ <span class="overload_item">
7
+ <span class="signature first" style="margin-left: 0px;"><%= "<strong>#{h(object.signature)}</strong> &#x21d2; #{signature_types(object, false)}" %></span>
8
+ </span>
9
+ </span>
10
+ </div>
11
+ <% end %>
12
+ <div class="docstring">
13
+ <div class="discussion">
14
+ <%= htmlify(object.docstring) %>
15
+ </div>
16
+ </div>
17
+ <%= yieldall %>
18
+ </div>