Class: YARD::Templates::TemplateOptions

Inherits:
Options
  • Object
show all
Defined in:
lib/yard/templates/template_options.rb

Overview

An Options class containing default options for base template rendering. For options specific to generation of HTML output, see CLI::YardocOptions.

See Also:

Direct Known Subclasses

CLI::GraphOptions, CLI::YardocOptions

Instance Attribute Summary collapse

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class YARD::Options

Instance Attribute Details

#default_returnString

Returns the default return type for a method with no return tags

Returns:

  • (String)

    the default return type for a method with no return tags



20
# File 'lib/yard/templates/template_options.rb', line 20

default_attr :default_return, "Object"

#embed_mixinsArray<String>

Returns an array of module name wildcards to embed into class documentation as if their methods were defined directly in the class. Useful for modules like ClassMethods. If the name contains '::', the module is matched against the full mixin path, otherwise only the module name is used.

Examples:

A list of mixin path names (including wildcards)

opts.embed_mixins #=> ['ClassMethods', '*Helper', 'YARD::*']

Returns:

  • (Array<String>)

    an array of module name wildcards to embed into class documentation as if their methods were defined directly in the class. Useful for modules like ClassMethods. If the name contains '::', the module is matched against the full mixin path, otherwise only the module name is used.



68
# File 'lib/yard/templates/template_options.rb', line 68

default_attr :embed_mixins, lambda { [] }

#formatSymbol

Returns the template output format

Returns:

  • (Symbol)

    the template output format



11
# File 'lib/yard/templates/template_options.rb', line 11

default_attr :format, :text

#globalsOpenStruct Also known as: __globals

Returns an open struct containing any global state across all generated objects in a template.

Returns:

  • (OpenStruct)

    an open struct containing any global state across all generated objects in a template.



33
# File 'lib/yard/templates/template_options.rb', line 33

default_attr :globals, lambda { OpenStruct.new }

#hide_void_returnBoolean

Returns whether void methods should show “void” in their signature

Returns:

  • (Boolean)

    whether void methods should show “void” in their signature



23
# File 'lib/yard/templates/template_options.rb', line 23

default_attr :hide_void_return, false

#highlightBoolean

Returns whether code blocks should be syntax highlighted

Returns:

  • (Boolean)

    whether code blocks should be syntax highlighted



26
# File 'lib/yard/templates/template_options.rb', line 26

default_attr :highlight, true

#markupSymbol

Returns the markup format to use when parsing docstrings

Returns:

  • (Symbol)

    the markup format to use when parsing docstrings



17
# File 'lib/yard/templates/template_options.rb', line 17

default_attr :markup, :rdoc

#markup_providerClass

Returns the markup provider class for the markup format

Returns:

  • (Class)

    the markup provider class for the markup format



29
30
31
# File 'lib/yard/templates/template_options.rb', line 29

def markup_provider
  @markup_provider
end

#no_highlightBoolean

Deprecated.

use #highlight instead.

Returns whether highlighting should be ignored

Returns:

  • (Boolean)

    whether highlighting should be ignored



54
55
56
# File 'lib/yard/templates/template_options.rb', line 54

def no_highlight
  @no_highlight
end

#objectCodeObjects::Base

Returns the main object being generated in the template

Returns:



37
38
39
# File 'lib/yard/templates/template_options.rb', line 37

def object
  @object
end

#ownerCodeObjects::Base

Returns the owner of the generated object

Returns:



40
41
42
# File 'lib/yard/templates/template_options.rb', line 40

def owner
  @owner
end

#page_titleString

Returns the title of a given page

Returns:

  • (String)

    the title of a given page



60
61
62
# File 'lib/yard/templates/template_options.rb', line 60

def page_title
  @page_title
end

#serializeBoolean

Returns whether serialization should be performed

Returns:

  • (Boolean)

    whether serialization should be performed



46
# File 'lib/yard/templates/template_options.rb', line 46

default_attr :serialize, true

#serializerSerializers::Base

Returns the serializer used to generate links and serialize output. Serialization output only occurs if #serialize is true.

Returns:

  • (Serializers::Base)

    the serializer used to generate links and serialize output. Serialization output only occurs if #serialize is true.



50
51
52
# File 'lib/yard/templates/template_options.rb', line 50

def serializer
  @serializer
end

#templateSymbol

Returns the template name used to render output

Returns:

  • (Symbol)

    the template name used to render output



14
# File 'lib/yard/templates/template_options.rb', line 14

default_attr :template, :default

#typeSymbol

Returns the template type used to generate output

Returns:

  • (Symbol)

    the template type used to generate output



43
44
45
# File 'lib/yard/templates/template_options.rb', line 43

def type
  @type
end

#verifierVerifier

Returns the verifier object

Returns:



85
86
87
# File 'lib/yard/templates/template_options.rb', line 85

def verifier
  @verifier
end

Instance Method Details

#embed_mixins_match?(mixin) ⇒ Boolean?

Parameters:

  • mixin (CodeObjects::Base)

    accepts any code object, but returns nil unless the object is a module.

Returns:

  • (Boolean)

    whether a mixin matches the embed_mixins list

  • (nil)

    if the mixin is not a module object



74
75
76
77
78
79
80
81
82
# File 'lib/yard/templates/template_options.rb', line 74

def embed_mixins_match?(mixin)
  return nil unless mixin.is_a?(CodeObjects::ModuleObject)
  return nil if mixin == object # the method is not inherited
  embed_mixins.any? do |embed_mixin|
    re = /\A#{Regexp.quote(embed_mixin).gsub('\*', '.*')}\Z/
    matchstr = embed_mixin.include?("::") ? mixin.path : mixin.name
    re.match(matchstr.to_s)
  end
end