Top Level Namespace

Defined Under Namespace

Modules: PuppetStrings

Instance Method Summary collapse

Instance Method Details

#alias_ofString

Renders the alias_of section.

Returns:

  • (String)

    Returns the rendered section.



11
12
13
14
15
16
17
18
19
# File 'lib/puppet-strings/yard/templates/default/puppet_data_type_alias/html/setup.rb', line 11

def alias_of
  # Properties are the same thing as parameters (from the documentation standpoint),
  # so reuse the same template but with a different title and data source.
  # @parameters = object.properties || []
  # @parameters.sort_by! { |p| p.name }
  @tag_title = 'Alias of'
  @alias_of = object.alias_of
  erb(:alias_of)
end

#box_infoString

Renders the box_info section.

Returns:

  • (String)

    Returns the rendered section.



11
12
13
# File 'lib/puppet-strings/yard/templates/default/puppet_plan/html/setup.rb', line 11

def box_info
  erb(:box_info)
end

#classesString

Renders the classes section.

Returns:

  • (String)

    Returns the rendered section.



163
164
165
166
167
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 163

def classes
  @title = 'Puppet Class Listing A-Z'
  @objects_by_letter = objects_by_letter(:puppet_class)
  erb(:objects)
end

#commandsString

Renders the commands section.

Returns:

  • (String)

    Returns the rendered section.



27
28
29
30
31
# File 'lib/puppet-strings/yard/templates/default/puppet_provider/html/setup.rb', line 27

def commands
  @title = 'Commands'
  @collection = object.commands
  erb(:collection)
end

#confinesString

Renders the confines section.

Returns:

  • (String)

    Returns the rendered section.



11
12
13
14
15
# File 'lib/puppet-strings/yard/templates/default/puppet_provider/html/setup.rb', line 11

def confines
  @title = 'Confines'
  @collection = object.confines
  erb(:collection)
end

#create_menu_listsArray<Hash>

Creates the dynamic menu lists.

Returns:

  • (Array<Hash>)

    Returns the dynamic menu list.



76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 76

def create_menu_lists
  menu_lists = [
    {
      type: 'puppet_class',
      title: 'Puppet Classes',
      search_title: 'Puppet Classes'
    },
    {
      type: 'puppet_data_type',
      title: 'Data Types',
      search_title: 'Data Types'
    },
    {
      type: 'puppet_defined_type',
      title: 'Defined Types',
      search_title: 'Defined Types'
    },
    {
      type: 'puppet_type',
      title: 'Resource Types',
      search_title: 'Resource Types'
    },
    {
      type: 'puppet_provider',
      title: 'Providers',
      search_title: 'Providers'
    },
    {
      type: 'puppet_function',
      title: 'Puppet Functions',
      search_title: 'Puppet Functions'
    },
    {
      type: 'puppet_task',
      title: 'Puppet Tasks',
      search_totle: 'Puppet Tasks'
    },
    {
      type: 'puppet_plan',
      title: 'Puppet Plans',
      search_totle: 'Puppet Plans'
    },
    {
      type: 'class',
      title: 'Ruby Classes',
      search_title: 'Class List'
    },
    {
      type: 'method',
      title: 'Ruby Methods',
      search_title: 'Method List'
    }
  ]

  menu_lists.delete_if { |e| YARD::Registry.all(e[:type].intern).empty? }

  # We must always return at least one group, so always keep the files list
  if menu_lists.empty? || !YARD::Registry.all(:file).empty?
    menu_lists << {
      type: 'file',
      title: 'Files',
      search_title: 'File List'
    }
  end

  menu_lists
end

#data_typesString

Renders the data types section.

Returns:

  • (String)

    Returns the rendered section.



171
172
173
174
175
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 171

def data_types
  @title = 'Data Type Listing A-Z'
  @objects_by_letter = objects_by_letter(:puppet_data_type, :puppet_data_type_alias)
  erb(:objects)
end

#defaultsString

Renders the defaults section.

Returns:

  • (String)

    Returns the rendered section.



19
20
21
22
23
# File 'lib/puppet-strings/yard/templates/default/puppet_provider/html/setup.rb', line 19

def defaults
  @title = 'Default Provider For'
  @collection = object.defaults
  erb(:collection)
end

#defined_typesString

Renders the defined types section.

Returns:

  • (String)

    Returns the rendered section.



179
180
181
182
183
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 179

def defined_types
  @title = 'Defined Type Listing A-Z'
  @objects_by_letter = objects_by_letter(:puppet_defined_type)
  erb(:objects)
end

#descriptionObject



13
14
15
# File 'lib/puppet-strings/yard/templates/default/puppet_task/html/setup.rb', line 13

def description
  json['description']
end

#enumString

Renders the enum section.

Returns:

  • (String)

    Returns the rendered section.



24
25
26
# File 'lib/puppet-strings/yard/templates/default/tags/setup.rb', line 24

def enum
  erb(:enum)
end

#functionsString

Renders the functions section.

Returns:

  • (String)

    Returns the rendered section.



203
204
205
206
207
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 203

def functions
  @title = 'Puppet Function Listing A-Z'
  @objects_by_letter = objects_by_letter(:puppet_function)
  erb(:objects)
end

#generate_class_listvoid

This method returns an undefined value.

Generate a searchable Ruby class list in the output.



70
71
72
73
74
75
# File 'lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb', line 70

def generate_class_list
  @items = options.objects if options.objects
  @list_title = 'Ruby Class List'
  @list_type = 'class'
  generate_list_contents
end

#generate_method_listvoid

This method returns an undefined value.

Generates the searchable Ruby method list.



59
60
61
62
63
64
65
66
# File 'lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb', line 59

def generate_method_list
  @items = prune_method_listing(Registry.all(:method), false)
  @items = @items.reject { |m| m.name.to_s =~ /=$/ && m.is_attribute? }
  @items = @items.sort_by { |m| m.name.to_s }
  @list_title = 'Ruby Method List'
  @list_type = 'method'
  generate_list_contents
end

#generate_puppet_class_listvoid

This method returns an undefined value.

Generates the searchable Puppet class list.



5
6
7
8
9
10
# File 'lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb', line 5

def generate_puppet_class_list
  @items = Registry.all(:puppet_class).sort_by { |c| c.name.to_s }
  @list_title = 'Puppet Class List'
  @list_type = 'puppet_class'
  generate_list_contents
end

#generate_puppet_data_type_listvoid

This method returns an undefined value.

Generates the searchable Puppet data type list.



14
15
16
17
18
19
# File 'lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb', line 14

def generate_puppet_data_type_list
  @items = Registry.all(:puppet_data_type, :puppet_data_type_alias).sort_by { |dt| dt.name.to_s }
  @list_title = 'Data Type List'
  @list_type = 'puppet_data_type'
  generate_list_contents
end

#generate_puppet_defined_type_listvoid

This method returns an undefined value.

Generates the searchable Puppet defined type list.



23
24
25
26
27
28
# File 'lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb', line 23

def generate_puppet_defined_type_list
  @items = Registry.all(:puppet_defined_type).sort_by { |dt| dt.name.to_s }
  @list_title = 'Defined Type List'
  @list_type = 'puppet_defined_type'
  generate_list_contents
end

#generate_puppet_function_listvoid

This method returns an undefined value.

Generates the searchable Puppet function list.



50
51
52
53
54
55
# File 'lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb', line 50

def generate_puppet_function_list
  @items = Registry.all(:puppet_function).sort_by { |f| f.name.to_s }
  @list_title = 'Puppet Function List'
  @list_type = 'puppet_function'
  generate_list_contents
end

#generate_puppet_plan_listvoid

This method returns an undefined value.

Generates the searchable Puppet Plan list.



88
89
90
91
92
93
# File 'lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb', line 88

def generate_puppet_plan_list
  @items = Registry.all(:puppet_plan).sort_by { |t| t.name.to_s }
  @list_title = 'Puppet Plan List'
  @list_type = 'puppet_plan'
  generate_list_contents
end

#generate_puppet_provider_listvoid

This method returns an undefined value.

Generates the searchable Puppet provider list.



41
42
43
44
45
46
# File 'lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb', line 41

def generate_puppet_provider_list
  @items = Registry.all(:puppet_provider).sort_by { |p| p.name.to_s }
  @list_title = 'Provider List'
  @list_type = 'puppet_provider'
  generate_list_contents
end

#generate_puppet_task_listvoid

This method returns an undefined value.

Generates the searchable Puppet Task list.



79
80
81
82
83
84
# File 'lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb', line 79

def generate_puppet_task_list
  @items = Registry.all(:puppet_task).sort_by { |t| t.name.to_s }
  @list_title = 'Puppet Task List'
  @list_type = 'puppet_task'
  generate_list_contents
end

#generate_puppet_type_listvoid

This method returns an undefined value.

Generates the searchable Puppet resource type list.



32
33
34
35
36
37
# File 'lib/puppet-strings/yard/templates/default/fulldoc/html/setup.rb', line 32

def generate_puppet_type_list
  @items = Registry.all(:puppet_type).sort_by { |t| t.name.to_s }
  @list_title = 'Resource Type List'
  @list_type = 'puppet_type'
  generate_list_contents
end

#initvoid

This method returns an undefined value.

Initializes the template.



5
6
7
8
9
10
11
12
13
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 5

def init
  case object
  when '_index.html'
    @page_title = options.title
    sections :layout, [:index, [:listing, %i[classes data_types defined_types types providers functions tasks plans files objects]]]
  else
    super
  end
end

#jsonObject



9
10
11
# File 'lib/puppet-strings/yard/templates/default/puppet_task/html/setup.rb', line 9

def json
  object.statement.json
end

#layoutString

Renders the layout section.

Returns:

  • (String)

    Returns the rendered section.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 17

def layout
  @nav_url = url_for_list(!@file || options.index ? menu_lists.first[:type] : 'file')

  case object
  when nil, String
    @path = nil
  when @file
    @path = @file.path
  when !object.is_a?(YARD::CodeObjects::NamespaceObject)
    @path = object.parent.path
    @nav_url = url_for_list('class')
  when YARD::CodeObjects::ClassObject
    @path = object.path
    @nav_url = url_for_list('class')
  when PuppetStrings::Yard::CodeObjects::Class
    @nav_url = url_for_list('puppet_class')
    @page_title = "Puppet Class: #{object.name}"
    @path = object.path
  when PuppetStrings::Yard::CodeObjects::DataType, PuppetStrings::Yard::CodeObjects::DataTypeAlias
    @nav_url = url_for_list('puppet_data_type')
    @page_title = "Data Type: #{object.name}"
    @path = object.path
  when PuppetStrings::Yard::CodeObjects::DefinedType
    @nav_url = url_for_list('puppet_defined_type')
    @page_title = "Defined Type: #{object.name}"
    @path = object.path
  when PuppetStrings::Yard::CodeObjects::Type
    @nav_url = url_for_list('puppet_type')
    @page_title = "Resource Type: #{object.name}"
    @path = object.path
  when PuppetStrings::Yard::CodeObjects::Provider
    @nav_url = url_for_list('puppet_provider')
    @page_title = "Provider: #{object.name}"
    @path = object.path
  when PuppetStrings::Yard::CodeObjects::Function
    @nav_url = url_for_list('puppet_function')
    @page_title = "Puppet Function: #{object.name} (#{object.function_type})"
    @path = object.path
  when PuppetStrings::Yard::CodeObjects::Task
    @nav_url = url_for_list('puppet_task')
    @page_title = "Puppet Task: #{object.name}"
    @path = object.path
  when PuppetStrings::Yard::CodeObjects::Plan
    @nav_url = url_for_list('puppet_plan')
    @page_title = "Puppet Plan: #{object.name}"
    @path = object.path
  else
    @path = object.path
  end

  final_layout = erb(:layout)

  PuppetStrings::Yard::Util.github_to_yard_links(final_layout) if @file && @file.name == 'README'

  final_layout
end

Gets the menu lists to use.

Returns:

  • (Array<Hash] Returns the menu lists to use.)

    Array<Hash] Returns the menu lists to use.



146
147
148
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 146

def menu_lists
  @@lists ||= create_menu_lists.freeze
end

#method_listingObject



9
10
11
# File 'lib/puppet-strings/yard/templates/default/puppet_data_type/html/setup.rb', line 9

def method_listing
  sort_listing(object.functions)
end

#objectsString

Renders the objects section.

Returns:

  • (String)

    Returns the rendered section.



227
228
229
230
231
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 227

def objects
  @title = 'Ruby Namespace Listing A-Z'
  @objects_by_letter = objects_by_letter(:class, :module)
  erb(:objects)
end

#objects_by_letter(*types) ⇒ Hash

Builds a list of objects by letter.

Parameters:

  • types (Array)

    The types of objects to find.

Returns:

  • (Hash)

    Returns a hash of first letter of the object name to list of objects.



153
154
155
156
157
158
159
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 153

def objects_by_letter(*types)
  hash = {}
  objects = Registry.all(*types).sort_by { |o| o.name.to_s }
  objects = run_verifier(objects)
  objects.each { |o| (hash[o.name.to_s[0, 1].upcase] ||= []) << o }
  hash
end

#overloadString

Renders the overload section.

Returns:

  • (String)

    Returns the rendered section.



18
19
20
# File 'lib/puppet-strings/yard/templates/default/tags/setup.rb', line 18

def overload
  erb(object.type == :puppet_function ? :puppet_overload : :overload)
end

#paramArray<YARD::Tag>

Called to return parameter tags.

Returns:

  • (Array<YARD::Tag>)

    Returns the parameter tags if the object should have parameters.



5
6
7
8
9
10
11
12
13
14
# File 'lib/puppet-strings/yard/templates/default/tags/setup.rb', line 5

def param
  tag(:param) if
    object.type == :method ||
    object.type == :puppet_class ||
    object.type == :puppet_data_type ||
    object.type == :puppet_defined_type ||
    object.type == :puppet_function ||
    object.type == :puppet_task ||
    object.type == :puppet_plan
end

#parametersString

Renders the parameters section.

Returns:

  • (String)

    Returns the rendered section.



19
20
21
22
23
24
# File 'lib/puppet-strings/yard/templates/default/puppet_task/html/setup.rb', line 19

def parameters
  @parameters = json['parameters'] || []
  @parameters.to_a.sort!
  @tag_title = 'Parameters'
  erb(:parameters)
end

#plansString

Renders the plans section.

Returns:

  • (String)

    Returns the rendered section.



219
220
221
222
223
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 219

def plans
  @title = 'Puppet Plan Listing A-Z'
  @objects_by_letter = objects_by_letter(:puppet_plan)
  erb(:objects)
end

#propertiesString

Renders the properties section.

Returns:

  • (String)

    Returns the rendered section.



18
19
20
21
22
23
24
25
26
27
# File 'lib/puppet-strings/yard/templates/default/puppet_type/html/setup.rb', line 18

def properties
  # Properties are the same thing as parameters (from the documentation standpoint),
  # so reuse the same template but with a different title and data source.
  #
  # "checks" such as "creates" and "onlyif" are another type of property
  @parameters = (object.properties || []) + (object.checks || [])
  @parameters.sort_by!(&:name)
  @tag_title = 'Properties'
  erb(:parameters)
end

#providersString

Renders the providers section.

Returns:

  • (String)

    Returns the rendered section.



195
196
197
198
199
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 195

def providers
  @title = 'Puppet Provider Listing A-Z'
  @objects_by_letter = objects_by_letter(:puppet_provider)
  erb(:objects)
end

#sort_listing(list) ⇒ Object



13
14
15
# File 'lib/puppet-strings/yard/templates/default/puppet_data_type/html/setup.rb', line 13

def sort_listing(list)
  list.sort_by { |o| [o.scope.to_s, o.name.to_s.downcase] }
end

#tasksString

Renders the tasks section.

Returns:

  • (String)

    Returns the rendered section.



211
212
213
214
215
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 211

def tasks
  @title = 'Puppet Task Listing A-Z'
  @objects_by_letter = objects_by_letter(:puppet_task)
  erb(:objects)
end

#typesString

Renders the types section.

Returns:

  • (String)

    Returns the rendered section.



187
188
189
190
191
# File 'lib/puppet-strings/yard/templates/default/layout/html/setup.rb', line 187

def types
  @title = 'Resource Type Listing A-Z'
  @objects_by_letter = objects_by_letter(:puppet_type)
  erb(:objects)
end