Class: Puppet::Util::Reference

Inherits:
Object
  • Object
show all
Extended by:
InstanceLoader
Includes:
Puppet::Util, Docs
Defined in:
lib/puppet/util/reference.rb

Overview

Manage Reference Documentation.

Constant Summary

Constants included from Puppet::Util

ALNUM, ALPHA, AbsolutePathPosix, AbsolutePathWindows, DEFAULT_POSIX_MODE, DEFAULT_WINDOWS_MODE, ESCAPED, HEX, HttpProxy, PUPPET_STACK_INSERTION_FRAME, RESERVED, RFC_3986_URI_REGEX, UNRESERVED, UNSAFE

Constants included from POSIX

POSIX::LOCALE_ENV_VARS, POSIX::USER_ENV_VARS

Constants included from SymbolicFileMode

SymbolicFileMode::SetGIDBit, SymbolicFileMode::SetUIDBit, SymbolicFileMode::StickyBit, SymbolicFileMode::SymbolicMode, SymbolicFileMode::SymbolicSpecialToBit

Constants included from Docs

Docs::HEADER_LEVELS

Instance Attribute Summary collapse

Attributes included from Docs

#nodoc

Class Method Summary collapse

Instance Method Summary collapse

Methods included from InstanceLoader

instance_hash, instance_load, instance_loader, instance_loading?, loaded_instance, loaded_instances

Methods included from Puppet::Util

absolute_path?, benchmark, chuser, clear_environment, create_erb, default_env, deterministic_rand, deterministic_rand_int, exit_on_fail, format_backtrace_array, format_puppetstack_frame, get_env, get_environment, logmethods, merge_environment, path_to_uri, pretty_backtrace, replace_file, resolve_stackframe, rfc2396_escape, safe_posix_fork, set_env, skip_external_facts, symbolizehash, thinmark, uri_encode, uri_query_encode, uri_to_path, uri_unescape, which, withenv, withumask

Methods included from POSIX

#get_posix_field, #gid, groups_of, #idfield, #methodbyid, #methodbyname, #search_posix_field, #uid

Methods included from SymbolicFileMode

#display_mode, #normalize_symbolic_mode, #symbolic_mode_to_int, #valid_symbolic_mode?

Methods included from Docs

#desc, #dochook, #doctable, #markdown_definitionlist, #markdown_header, #nodoc?, #pad, scrub

Constructor Details

#initialize(name, title: nil, depth: nil, dynamic: nil, doc: nil, &block) ⇒ Reference

Returns a new instance of Reference.

 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
# File 'lib/puppet/util/reference.rb', line 55 def initialize(name, title: nil, depth: nil, dynamic: nil, doc: nil, &block) @name = name @title = title @depth = depth @dynamic = dynamic @doc = doc meta_def(:generate, &block) # Now handle the defaults  @title ||= _("%{name} Reference") % { name: @name.to_s.capitalize } @page ||= @title.gsub(/\s+/, '') @depth ||= 2 @header ||= "" end

Instance Attribute Details

#depthObject

Returns the value of attribute depth.

 40 41 42
# File 'lib/puppet/util/reference.rb', line 40 def depth @depth end

#docObject

 43 44 45 46 47 48 49
# File 'lib/puppet/util/reference.rb', line 43 def doc if defined?(@doc) "#{@name} - #{@doc}" else @title end end

#dynamicObject

Returns the value of attribute dynamic.

 40 41 42
# File 'lib/puppet/util/reference.rb', line 40 def dynamic @dynamic end

#headerObject

Returns the value of attribute header.

 40 41 42
# File 'lib/puppet/util/reference.rb', line 40 def header @header end

#pageObject

Returns the value of attribute page.

 40 41 42
# File 'lib/puppet/util/reference.rb', line 40 def page @page end

#titleObject

Returns the value of attribute title.

 40 41 42
# File 'lib/puppet/util/reference.rb', line 40 def title @title end

Class Method Details

.modesObject

 15 16 17
# File 'lib/puppet/util/reference.rb', line 15 def self.modes %w[text] end

.newreference(name, options = {}, &block) ⇒ Object

 19 20 21 22 23 24
# File 'lib/puppet/util/reference.rb', line 19 def self.newreference(name, options = {}, &block) ref = new(name, **options, &block) instance_hash(:reference)[name.intern] = ref ref end

.page(*sections) ⇒ Object

 26 27 28 29 30 31 32 33
# File 'lib/puppet/util/reference.rb', line 26 def self.page(*sections) depth = 4 # Use the minimum depth  sections.each do |name| section = reference(name) or raise _("Could not find section %{name}") % { name: name } depth = section.depth if section.depth < depth end end

.references(environment) ⇒ Object

 35 36 37 38
# File 'lib/puppet/util/reference.rb', line 35 def self.references(environment) instance_loader(:reference).loadall(environment) loaded_instances(:reference).sort_by(&:to_s) end

Instance Method Details

#dynamic?Boolean

Returns:

  • (Boolean)
 51 52 53
# File 'lib/puppet/util/reference.rb', line 51 def dynamic? dynamic end

#indent(text, tab) ⇒ Object

Indent every line in the chunk except those which begin with ‘..’.

 72 73 74
# File 'lib/puppet/util/reference.rb', line 72 def indent(text, tab) text.gsub(/(^|\A)/, tab).gsub(/^ +\.\./, "..") end

#option(name, value) ⇒ Object

 76 77 78
# File 'lib/puppet/util/reference.rb', line 76 def option(name, value) ":#{name.to_s.capitalize}: #{value}\n" end

#textObject

 80 81 82
# File 'lib/puppet/util/reference.rb', line 80 def text puts output end

#to_markdown(withcontents = true) ⇒ Object

 84 85 86 87 88 89 90 91 92 93
# File 'lib/puppet/util/reference.rb', line 84 def to_markdown(withcontents = true) # First the header  text = markdown_header(@title, 1) text << @header text << generate text end