puppet-strings 0.4.0 → 0.99.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +122 -0
- data/COMMITTERS.md +185 -0
- data/CONTRIBUTING.md +89 -0
- data/Gemfile +38 -0
- data/JSON.md +511 -0
- data/LICENSE +13 -0
- data/README.md +416 -0
- data/Rakefile +49 -0
- data/lib/puppet-strings.rb +63 -0
- data/lib/puppet-strings/json.rb +49 -0
- data/lib/puppet-strings/tasks.rb +10 -0
- data/lib/puppet-strings/tasks/generate.rb +23 -0
- data/lib/puppet-strings/tasks/gh_pages.rb +43 -0
- data/lib/puppet-strings/yard.rb +96 -0
- data/lib/puppet-strings/yard/code_objects.rb +8 -0
- data/lib/puppet-strings/yard/code_objects/base.rb +14 -0
- data/lib/puppet-strings/yard/code_objects/class.rb +59 -0
- data/lib/puppet-strings/yard/code_objects/defined_type.rb +58 -0
- data/lib/puppet-strings/yard/code_objects/function.rb +93 -0
- data/lib/puppet-strings/yard/code_objects/group.rb +30 -0
- data/lib/puppet-strings/yard/code_objects/provider.rb +93 -0
- data/lib/puppet-strings/yard/code_objects/type.rb +146 -0
- data/lib/puppet-strings/yard/handlers.rb +16 -0
- data/lib/puppet-strings/yard/handlers/puppet/base.rb +44 -0
- data/lib/puppet-strings/yard/handlers/puppet/class_handler.rb +23 -0
- data/lib/puppet-strings/yard/handlers/puppet/defined_type_handler.rb +23 -0
- data/lib/puppet-strings/yard/handlers/puppet/function_handler.rb +42 -0
- data/lib/puppet-strings/yard/handlers/ruby/base.rb +38 -0
- data/lib/puppet-strings/yard/handlers/ruby/function_handler.rb +357 -0
- data/lib/puppet-strings/yard/handlers/ruby/provider_handler.rb +113 -0
- data/lib/puppet-strings/yard/handlers/ruby/type_handler.rb +194 -0
- data/lib/puppet-strings/yard/parsers.rb +7 -0
- data/lib/puppet-strings/yard/parsers/puppet/parser.rb +70 -0
- data/lib/puppet-strings/yard/parsers/puppet/statement.rb +146 -0
- data/lib/puppet-strings/yard/tags.rb +6 -0
- data/lib/puppet-strings/yard/tags/overload_tag.rb +109 -0
- data/lib/puppet-strings/yard/tags/parameter_directive.rb +24 -0
- data/lib/puppet-strings/yard/tags/property_directive.rb +24 -0
- data/lib/puppet-strings/yard/templates/default/fulldoc/html/full_list_puppet_class.erb +9 -0
- data/lib/puppet-strings/yard/templates/default/fulldoc/html/full_list_puppet_defined_type.erb +9 -0
- data/lib/puppet-strings/yard/templates/default/fulldoc/html/full_list_puppet_function.erb +10 -0
- data/lib/puppet-strings/yard/templates/default/fulldoc/html/full_list_puppet_provider.erb +10 -0
- data/lib/puppet-strings/yard/templates/default/fulldoc/html/full_list_puppet_type.erb +9 -0
- data/lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb +64 -0
- data/lib/puppet-strings/yard/templates/default/layout/html/objects.erb +35 -0
- data/lib/puppet-strings/yard/templates/default/layout/html/setup.rb +172 -0
- data/lib/puppet-strings/yard/templates/default/puppet_class/html/box_info.erb +26 -0
- data/lib/puppet-strings/yard/templates/default/puppet_class/html/header.erb +1 -0
- data/lib/puppet-strings/yard/templates/default/puppet_class/html/overview.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_class/html/setup.rb +14 -0
- data/lib/puppet-strings/yard/templates/default/puppet_class/html/source.erb +12 -0
- data/lib/puppet-strings/yard/templates/default/puppet_defined_type/html/box_info.erb +10 -0
- data/lib/puppet-strings/yard/templates/default/puppet_defined_type/html/header.erb +1 -0
- data/lib/puppet-strings/yard/templates/default/puppet_defined_type/html/overview.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_defined_type/html/setup.rb +5 -0
- data/lib/puppet-strings/yard/templates/default/puppet_defined_type/html/source.erb +12 -0
- data/lib/puppet-strings/yard/templates/default/puppet_function/html/box_info.erb +14 -0
- data/lib/puppet-strings/yard/templates/default/puppet_function/html/header.erb +1 -0
- data/lib/puppet-strings/yard/templates/default/puppet_function/html/overview.erb +18 -0
- data/lib/puppet-strings/yard/templates/default/puppet_function/html/setup.rb +5 -0
- data/lib/puppet-strings/yard/templates/default/puppet_function/html/source.erb +12 -0
- data/lib/puppet-strings/yard/templates/default/puppet_provider/html/box_info.erb +14 -0
- data/lib/puppet-strings/yard/templates/default/puppet_provider/html/collection.erb +10 -0
- data/lib/puppet-strings/yard/templates/default/puppet_provider/html/features.erb +12 -0
- data/lib/puppet-strings/yard/templates/default/puppet_provider/html/header.erb +1 -0
- data/lib/puppet-strings/yard/templates/default/puppet_provider/html/overview.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_provider/html/setup.rb +29 -0
- data/lib/puppet-strings/yard/templates/default/puppet_type/html/box_info.erb +20 -0
- data/lib/puppet-strings/yard/templates/default/puppet_type/html/features.erb +13 -0
- data/lib/puppet-strings/yard/templates/default/puppet_type/html/header.erb +1 -0
- data/lib/puppet-strings/yard/templates/default/puppet_type/html/overview.erb +6 -0
- data/lib/puppet-strings/yard/templates/default/puppet_type/html/parameters.erb +35 -0
- data/lib/puppet-strings/yard/templates/default/puppet_type/html/setup.rb +32 -0
- data/lib/puppet-strings/yard/templates/default/tags/html/puppet_overload.erb +12 -0
- data/lib/puppet-strings/yard/templates/default/tags/setup.rb +15 -0
- data/lib/puppet/application/strings.rb +1 -0
- data/lib/puppet/face/strings.rb +80 -39
- data/spec/acceptance/emit_json_options.rb +41 -0
- data/spec/acceptance/lib/util.rb +15 -0
- data/spec/acceptance/running_strings_generate.rb +54 -0
- data/spec/fixtures/acceptance/modules/test/functions/add.pp +9 -0
- data/spec/fixtures/acceptance/modules/test/lib/puppet/functions/4x_function.rb +5 -0
- data/spec/fixtures/acceptance/modules/test/lib/puppet/parser/functions/function3x.rb +2 -0
- data/spec/fixtures/acceptance/modules/test/lib/puppet/provider/server/linux.rb +9 -0
- data/spec/fixtures/acceptance/modules/test/lib/puppet/type/database.rb +15 -0
- data/spec/fixtures/acceptance/modules/test/manifests/init.pp +27 -0
- data/spec/fixtures/acceptance/modules/test/manifests/triple_nested_classes.pp +27 -0
- data/spec/fixtures/acceptance/modules/test/metadata.json +6 -0
- data/spec/fixtures/unit/json/output.json +348 -0
- data/spec/fixtures/unit/json/output_without_puppet_function.json +301 -0
- data/spec/spec_helper.rb +21 -0
- data/spec/spec_helper_acceptance.rb +27 -0
- data/spec/unit/puppet-strings/json_spec.rb +136 -0
- data/spec/unit/puppet-strings/yard/handlers/puppet/class_handler_spec.rb +155 -0
- data/spec/unit/puppet-strings/yard/handlers/puppet/defined_type_handler_spec.rb +155 -0
- data/spec/unit/puppet-strings/yard/handlers/puppet/function_handler_spec.rb +169 -0
- data/spec/unit/puppet-strings/yard/handlers/ruby/function_handler_spec.rb +613 -0
- data/spec/unit/puppet-strings/yard/handlers/ruby/provider_handler_spec.rb +90 -0
- data/spec/unit/puppet-strings/yard/handlers/ruby/type_handler_spec.rb +214 -0
- data/spec/unit/puppet-strings/yard/parsers/puppet/parser_spec.rb +171 -0
- metadata +115 -92
- data/lib/puppet-strings/rake_tasks.rb +0 -18
- data/lib/puppet_x/puppetlabs/strings.rb +0 -64
- data/lib/puppet_x/puppetlabs/strings/actions.rb +0 -92
- data/lib/puppet_x/puppetlabs/strings/pops/yard_statement.rb +0 -79
- data/lib/puppet_x/puppetlabs/strings/pops/yard_transformer.rb +0 -47
- data/lib/puppet_x/puppetlabs/strings/util.rb +0 -65
- data/lib/puppet_x/puppetlabs/strings/yard/code_objects/defined_type_object.rb +0 -33
- data/lib/puppet_x/puppetlabs/strings/yard/code_objects/host_class_object.rb +0 -22
- data/lib/puppet_x/puppetlabs/strings/yard/code_objects/method_object.rb +0 -62
- data/lib/puppet_x/puppetlabs/strings/yard/code_objects/provider_object.rb +0 -24
- data/lib/puppet_x/puppetlabs/strings/yard/code_objects/puppet_namespace_object.rb +0 -48
- data/lib/puppet_x/puppetlabs/strings/yard/code_objects/type_object.rb +0 -42
- data/lib/puppet_x/puppetlabs/strings/yard/core_ext/yard.rb +0 -40
- data/lib/puppet_x/puppetlabs/strings/yard/handlers/base.rb +0 -13
- data/lib/puppet_x/puppetlabs/strings/yard/handlers/defined_type_handler.rb +0 -31
- data/lib/puppet_x/puppetlabs/strings/yard/handlers/heredoc_helper.rb +0 -80
- data/lib/puppet_x/puppetlabs/strings/yard/handlers/host_class_handler.rb +0 -42
- data/lib/puppet_x/puppetlabs/strings/yard/handlers/provider_handler.rb +0 -95
- data/lib/puppet_x/puppetlabs/strings/yard/handlers/puppet_3x_function_handler.rb +0 -54
- data/lib/puppet_x/puppetlabs/strings/yard/handlers/puppet_4x_function_handler.rb +0 -234
- data/lib/puppet_x/puppetlabs/strings/yard/handlers/type_handler.rb +0 -295
- data/lib/puppet_x/puppetlabs/strings/yard/json_registry_store.rb +0 -85
- data/lib/puppet_x/puppetlabs/strings/yard/monkey_patches.rb +0 -68
- data/lib/puppet_x/puppetlabs/strings/yard/parser.rb +0 -30
- data/lib/puppet_x/puppetlabs/strings/yard/tags/directives.rb +0 -9
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/definedtype/html/docstring.erb +0 -34
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/definedtype/html/header.erb +0 -5
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/definedtype/html/parameter_details.erb +0 -6
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/definedtype/html/setup.rb +0 -1
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/definedtype/setup.rb +0 -49
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/fulldoc/html/full_list_class.erb +0 -2
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/fulldoc/html/full_list_puppet_manifest.erb +0 -1
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/fulldoc/html/full_list_puppet_plugin.erb +0 -21
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/fulldoc/html/full_list_puppet_provider.erb +0 -1
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/fulldoc/html/full_list_puppet_type.erb +0 -1
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/fulldoc/html/setup.rb +0 -82
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/hostclass/html/box_info.erb +0 -22
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/hostclass/html/setup.rb +0 -1
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/hostclass/html/subclasses.erb +0 -4
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/hostclass/setup.rb +0 -21
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/html_helper.rb +0 -139
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/layout/html/setup.rb +0 -18
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/method_details/html/header.erb +0 -17
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/method_details/setup.rb +0 -21
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/method_details/text/header.erb +0 -2
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/provider/html/command_details.erb +0 -8
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/provider/html/confine_details.erb +0 -10
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/provider/html/default_details.erb +0 -10
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/provider/html/docstring.erb +0 -34
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/provider/html/feature_details.erb +0 -10
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/provider/html/header.erb +0 -5
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/provider/html/setup.rb +0 -1
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/provider/setup.rb +0 -50
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/puppetnamespace/html/box_info.erb +0 -11
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/puppetnamespace/html/header.erb +0 -5
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/puppetnamespace/html/method_details_list.erb +0 -53
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/puppetnamespace/html/method_summary.erb +0 -20
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/puppetnamespace/html/setup.rb +0 -1
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/puppetnamespace/setup.rb +0 -91
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/template_helper.rb +0 -192
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/type/html/docstring.erb +0 -34
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/type/html/header.erb +0 -5
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/type/html/parameter_details.erb +0 -12
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/type/html/provider_details.erb +0 -10
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/type/html/setup.rb +0 -1
- data/lib/puppet_x/puppetlabs/strings/yard/templates/default/type/setup.rb +0 -55
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require 'puppet-strings/yard/code_objects'
|
|
2
|
+
|
|
3
|
+
# Implements a parameter directive (e.g. #@!puppet.type.param) for documenting Puppet resource types.
|
|
4
|
+
class PuppetStrings::Yard::Tags::ParameterDirective < YARD::Tags::Directive
|
|
5
|
+
# Called to invoke the directive.
|
|
6
|
+
# @return [void]
|
|
7
|
+
def call
|
|
8
|
+
return unless object && object.respond_to?(:add_parameter)
|
|
9
|
+
# Add a parameter to the resource
|
|
10
|
+
parameter = PuppetStrings::Yard::CodeObjects::Type::Parameter.new(tag.name, tag.text)
|
|
11
|
+
if tag.types
|
|
12
|
+
tag.types.each do |value|
|
|
13
|
+
parameter.add(value)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
object.add_parameter parameter
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Registers the directive with YARD.
|
|
20
|
+
# @return [void]
|
|
21
|
+
def self.register!
|
|
22
|
+
YARD::Tags::Library.define_directive('puppet.type.param', :with_types_and_name, self)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
require 'puppet-strings/yard/code_objects'
|
|
2
|
+
|
|
3
|
+
# Implements a parameter directive (e.g. #@!puppet.type.property) for documenting Puppet resource types.
|
|
4
|
+
class PuppetStrings::Yard::Tags::PropertyDirective < YARD::Tags::Directive
|
|
5
|
+
# Called to invoke the directive.
|
|
6
|
+
# @return [void]
|
|
7
|
+
def call
|
|
8
|
+
return unless object && object.respond_to?(:add_property)
|
|
9
|
+
# Add a property to the resource
|
|
10
|
+
property = PuppetStrings::Yard::CodeObjects::Type::Property.new(tag.name, tag.text)
|
|
11
|
+
if tag.types
|
|
12
|
+
tag.types.each do |value|
|
|
13
|
+
property.add(value)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
object.add_property property
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Registers the directive with YARD.
|
|
20
|
+
# @return [void]
|
|
21
|
+
def self.register!
|
|
22
|
+
YARD::Tags::Library.define_directive('puppet.type.property', :with_types_and_name, self)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<% even = false %>
|
|
2
|
+
<% @items.each do |item| %>
|
|
3
|
+
<li id="object_<%=item.path%>" class="<%= even ? 'even' : 'odd' %>">
|
|
4
|
+
<div class="item">
|
|
5
|
+
<%= linkify item, h(item.name(false)) %>
|
|
6
|
+
<small><%= item.function_type %></small>
|
|
7
|
+
</div>
|
|
8
|
+
</li>
|
|
9
|
+
<% even = !even %>
|
|
10
|
+
<% end %>
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<% even = false %>
|
|
2
|
+
<% @items.each do |item| %>
|
|
3
|
+
<li id="object_<%=item.path%>" class="<%= even ? 'even' : 'odd' %>">
|
|
4
|
+
<div class="item">
|
|
5
|
+
<%= linkify item, h(item.name(true)) %>
|
|
6
|
+
<small>Resource type: <em><%=item.type_name%></em></small>
|
|
7
|
+
</div>
|
|
8
|
+
</li>
|
|
9
|
+
<% even = !even %>
|
|
10
|
+
<% end %>
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Generates the searchable Puppet class list.
|
|
2
|
+
# @return [void]
|
|
3
|
+
def generate_puppet_class_list
|
|
4
|
+
@items = Registry.all(:puppet_class).sort_by { |c| c.name.to_s }
|
|
5
|
+
@list_title = 'Puppet Class List'
|
|
6
|
+
@list_type = 'puppet_class'
|
|
7
|
+
generate_list_contents
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# Generates the searchable Puppet defined type list.
|
|
11
|
+
# @return [void]
|
|
12
|
+
def generate_puppet_defined_type_list
|
|
13
|
+
@items = Registry.all(:puppet_defined_type).sort_by {|dt| dt.name.to_s }
|
|
14
|
+
@list_title = 'Defined Type List'
|
|
15
|
+
@list_type = 'puppet_defined_type'
|
|
16
|
+
generate_list_contents
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Generates the searchable Puppet resource type list.
|
|
20
|
+
# @return [void]
|
|
21
|
+
def generate_puppet_type_list
|
|
22
|
+
@items = Registry.all(:puppet_type).sort_by {|t| t.name.to_s }
|
|
23
|
+
@list_title = 'Resource Type List'
|
|
24
|
+
@list_type = 'puppet_type'
|
|
25
|
+
generate_list_contents
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Generates the searchable Puppet provider list.
|
|
29
|
+
# @return [void]
|
|
30
|
+
def generate_puppet_provider_list
|
|
31
|
+
@items = Registry.all(:puppet_provider).sort_by {|p| p.name.to_s }
|
|
32
|
+
@list_title = 'Provider List'
|
|
33
|
+
@list_type = 'puppet_provider'
|
|
34
|
+
generate_list_contents
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Generates the searchable Puppet function list.
|
|
38
|
+
# @return [void]
|
|
39
|
+
def generate_puppet_function_list
|
|
40
|
+
@items = Registry.all(:puppet_function).sort_by {|f| f.name.to_s }
|
|
41
|
+
@list_title = 'Puppet Function List'
|
|
42
|
+
@list_type = 'puppet_function'
|
|
43
|
+
generate_list_contents
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
# Generates the searchable Ruby method list.
|
|
47
|
+
# @return [void]
|
|
48
|
+
def generate_method_list
|
|
49
|
+
@items = prune_method_listing(Registry.all(:method), false)
|
|
50
|
+
@items = @items.reject {|m| m.name.to_s =~ /=$/ && m.is_attribute? }
|
|
51
|
+
@items = @items.sort_by {|m| m.name.to_s }
|
|
52
|
+
@list_title = 'Ruby Method List'
|
|
53
|
+
@list_type = 'method'
|
|
54
|
+
generate_list_contents
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Generate a searchable Ruby class list in the output.
|
|
58
|
+
# @return [void]
|
|
59
|
+
def generate_class_list
|
|
60
|
+
@items = options.objects if options.objects
|
|
61
|
+
@list_title = 'Ruby Class List'
|
|
62
|
+
@list_type = 'class'
|
|
63
|
+
generate_list_contents
|
|
64
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<% unless @objects_by_letter.empty? %>
|
|
2
|
+
<h2><%= @title %></h2>
|
|
3
|
+
|
|
4
|
+
<% i = 0 %>
|
|
5
|
+
<table>
|
|
6
|
+
<tr>
|
|
7
|
+
<td valign='top' width="33%">
|
|
8
|
+
<% @objects_by_letter.sort_by {|l,o| l.to_s }.each do |letter, objects| %>
|
|
9
|
+
<% if (i += 1) % 8 == 0 %>
|
|
10
|
+
</td>
|
|
11
|
+
<td valign='top' width="33%">
|
|
12
|
+
<% i = 0 %>
|
|
13
|
+
<% end %>
|
|
14
|
+
<ul id="alpha_<%= letter %>" class="alpha">
|
|
15
|
+
<li class="letter"><%= letter %></li>
|
|
16
|
+
<ul>
|
|
17
|
+
<% objects.each do |obj| %>
|
|
18
|
+
<li>
|
|
19
|
+
<%= linkify obj, obj.name %>
|
|
20
|
+
<% if (obj.type == :module || obj.type == :class) && !obj.namespace.root? %>
|
|
21
|
+
<small>(<%= obj.namespace.path %>)</small>
|
|
22
|
+
<% elsif obj.type == :puppet_provider %>
|
|
23
|
+
<small>(Resource type: <%= obj.type_name %>)</small>
|
|
24
|
+
<% elsif obj.type == :puppet_function %>
|
|
25
|
+
<small>(<%= obj.function_type %>)</small>
|
|
26
|
+
<% end %>
|
|
27
|
+
</li>
|
|
28
|
+
<% end %>
|
|
29
|
+
</ul>
|
|
30
|
+
</ul>
|
|
31
|
+
<% end %>
|
|
32
|
+
</td>
|
|
33
|
+
</tr>
|
|
34
|
+
</table>
|
|
35
|
+
<% end %>
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Initializes the template.
|
|
2
|
+
# @return [void]
|
|
3
|
+
def init
|
|
4
|
+
case object
|
|
5
|
+
when '_index.html'
|
|
6
|
+
@page_title = options.title
|
|
7
|
+
sections :layout, [:index, [:listing, [:classes, :defined_types, :types, :providers, :functions, :files, :objects]]]
|
|
8
|
+
else
|
|
9
|
+
super
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Renders the layout section.
|
|
14
|
+
# @return [String] Returns the rendered section.
|
|
15
|
+
def layout
|
|
16
|
+
@nav_url = url_for_list(!@file || options.index ? menu_lists.first[:type] : 'file')
|
|
17
|
+
|
|
18
|
+
case object
|
|
19
|
+
when nil, String
|
|
20
|
+
@path = nil
|
|
21
|
+
when @file
|
|
22
|
+
@path = @file.path
|
|
23
|
+
when !object.is_a?(YARD::CodeObjects::NamespaceObject)
|
|
24
|
+
@path = object.parent.path
|
|
25
|
+
@nav_url = url_for_list('class')
|
|
26
|
+
when YARD::CodeObjects::ClassObject
|
|
27
|
+
@path = object.path
|
|
28
|
+
@nav_url = url_for_list('class')
|
|
29
|
+
when PuppetStrings::Yard::CodeObjects::Class
|
|
30
|
+
@nav_url = url_for_list('puppet_class')
|
|
31
|
+
@page_title = "Puppet Class: #{object.name}"
|
|
32
|
+
@path = object.path
|
|
33
|
+
when PuppetStrings::Yard::CodeObjects::DefinedType
|
|
34
|
+
@nav_url = url_for_list('puppet_defined_type')
|
|
35
|
+
@page_title = "Defined Type: #{object.name}"
|
|
36
|
+
@path = object.path
|
|
37
|
+
when PuppetStrings::Yard::CodeObjects::Type
|
|
38
|
+
@nav_url = url_for_list('puppet_type')
|
|
39
|
+
@page_title = "Resource Type: #{object.name}"
|
|
40
|
+
@path = object.path
|
|
41
|
+
when PuppetStrings::Yard::CodeObjects::Provider
|
|
42
|
+
@nav_url = url_for_list('puppet_provider')
|
|
43
|
+
@page_title = "Provider: #{object.name}"
|
|
44
|
+
@path = object.path
|
|
45
|
+
when PuppetStrings::Yard::CodeObjects::Function
|
|
46
|
+
@nav_url = url_for_list('puppet_function')
|
|
47
|
+
@page_title = "Puppet Function: #{object.name} (#{object.function_type})"
|
|
48
|
+
@path = object.path
|
|
49
|
+
else
|
|
50
|
+
@path = object.path
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
erb(:layout)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Creates the dynamic menu lists.
|
|
57
|
+
# @return [Array<Hash>] Returns the dynamic menu list.
|
|
58
|
+
def create_menu_lists
|
|
59
|
+
menu_lists = [
|
|
60
|
+
{
|
|
61
|
+
type: 'puppet_class',
|
|
62
|
+
title: 'Puppet Classes',
|
|
63
|
+
search_title: 'Puppet Classes'
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
type: 'puppet_defined_type',
|
|
67
|
+
title: 'Defined Types',
|
|
68
|
+
search_title: 'Defined Types',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
type: 'puppet_type',
|
|
72
|
+
title: 'Resource Types',
|
|
73
|
+
search_title: 'Resource Types'
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
type: 'puppet_provider',
|
|
77
|
+
title: 'Providers',
|
|
78
|
+
search_title: 'Providers'
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
type: 'puppet_function',
|
|
82
|
+
title: 'Puppet Functions',
|
|
83
|
+
search_title: 'Puppet Functions'
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
type: 'class',
|
|
87
|
+
title: 'Ruby Classes',
|
|
88
|
+
search_title: 'Class List'
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: 'method',
|
|
92
|
+
title: 'Ruby Methods',
|
|
93
|
+
search_title: 'Method List'
|
|
94
|
+
},
|
|
95
|
+
]
|
|
96
|
+
|
|
97
|
+
menu_lists.delete_if { |e| YARD::Registry.all(e[:type].intern).empty? }
|
|
98
|
+
|
|
99
|
+
# We must always return at least one group, so always keep the files list
|
|
100
|
+
menu_lists << {
|
|
101
|
+
type: 'file',
|
|
102
|
+
title: 'Files',
|
|
103
|
+
search_title: 'File List'
|
|
104
|
+
} if menu_lists.empty? || !YARD::Registry.all(:file).empty?
|
|
105
|
+
|
|
106
|
+
menu_lists
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# Gets the menu lists to use.
|
|
110
|
+
# @return [Array<Hash] Returns the menu lists to use.
|
|
111
|
+
def menu_lists
|
|
112
|
+
@@lists ||= create_menu_lists.freeze
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# Builds a list of objects by letter.
|
|
116
|
+
# @param [Array] types The types of objects to find.
|
|
117
|
+
# @return [Hash] Returns a hash of first letter of the object name to list of objects.
|
|
118
|
+
def objects_by_letter(*types)
|
|
119
|
+
hash = {}
|
|
120
|
+
objects = Registry.all(*types).sort_by {|o| o.name.to_s }
|
|
121
|
+
objects = run_verifier(objects)
|
|
122
|
+
objects.each {|o| (hash[o.name.to_s[0,1].upcase] ||= []) << o }
|
|
123
|
+
hash
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
# Renders the classes section.
|
|
127
|
+
# @return [String] Returns the rendered section.
|
|
128
|
+
def classes
|
|
129
|
+
@title = 'Puppet Class Listing A-Z'
|
|
130
|
+
@objects_by_letter = objects_by_letter(:puppet_class)
|
|
131
|
+
erb(:objects)
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
# Renders the defined types section.
|
|
135
|
+
# @return [String] Returns the rendered section.
|
|
136
|
+
def defined_types
|
|
137
|
+
@title = 'Defined Type Listing A-Z'
|
|
138
|
+
@objects_by_letter = objects_by_letter(:puppet_defined_type)
|
|
139
|
+
erb(:objects)
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
# Renders the types section.
|
|
143
|
+
# @return [String] Returns the rendered section.
|
|
144
|
+
def types
|
|
145
|
+
@title = 'Resource Type Listing A-Z'
|
|
146
|
+
@objects_by_letter = objects_by_letter(:puppet_type)
|
|
147
|
+
erb(:objects)
|
|
148
|
+
end
|
|
149
|
+
|
|
150
|
+
# Renders the providers section.
|
|
151
|
+
# @return [String] Returns the rendered section.
|
|
152
|
+
def providers
|
|
153
|
+
@title = 'Puppet Provider Listing A-Z'
|
|
154
|
+
@objects_by_letter = objects_by_letter(:puppet_provider)
|
|
155
|
+
erb(:objects)
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
# Renders the functions section.
|
|
159
|
+
# @return [String] Returns the rendered section.
|
|
160
|
+
def functions
|
|
161
|
+
@title = 'Puppet Function Listing A-Z'
|
|
162
|
+
@objects_by_letter = objects_by_letter(:puppet_function)
|
|
163
|
+
erb(:objects)
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
# Renders the objects section.
|
|
167
|
+
# @return [String] Returns the rendered section.
|
|
168
|
+
def objects
|
|
169
|
+
@title = 'Ruby Namespace Listing A-Z'
|
|
170
|
+
@objects_by_letter = objects_by_letter(:class, :module)
|
|
171
|
+
erb(:objects)
|
|
172
|
+
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 @@
|
|
|
1
|
+
<h1>Puppet Class: <%= object.name %></h1>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Initializes the template.
|
|
2
|
+
# @return [void]
|
|
3
|
+
def init
|
|
4
|
+
sections :header, :box_info, :overview, T('tags'), :source
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
# Renders the box_info section.
|
|
8
|
+
# @return [String] Returns the rendered section.
|
|
9
|
+
def box_info
|
|
10
|
+
@subclasses = Registry.all(:puppet_class).find_all { |c|
|
|
11
|
+
c.statement.parent_class == object.name.to_s
|
|
12
|
+
}
|
|
13
|
+
erb(:box_info)
|
|
14
|
+
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>
|