module PuppetStrings::Yard

Module for YARD related functionality.

Public Class Methods

setup!() click to toggle source

Sets up YARD for use with puppet-strings. @return [void]

# File lib/puppet-strings/yard.rb, line 12
def self.setup!
  # Register the template path
  YARD::Templates::Engine.register_template_path(File.join(File.dirname(__FILE__), 'yard', 'templates'))

  # Register the Puppet parser
  YARD::Parser::SourceParser.register_parser_type(:puppet, PuppetStrings::Yard::Parsers::Puppet::Parser, ['pp'])

  # Register our handlers
  YARD::Handlers::Processor.register_handler_namespace(:puppet, PuppetStrings::Yard::Handlers::Puppet)
  YARD::Handlers::Processor.register_handler_namespace(:puppet_ruby, PuppetStrings::Yard::Handlers::Ruby)

  # Register the tag directives
  PuppetStrings::Yard::Tags::ParameterDirective.register!
  PuppetStrings::Yard::Tags::PropertyDirective.register!

  # Ignore documentation on Puppet DSL calls
  # This prevents the YARD DSL parser from emitting warnings for Puppet's Ruby DSL
  YARD::Handlers::Ruby::DSLHandlerMethods::IGNORE_METHODS['create_function'] = true
  YARD::Handlers::Ruby::DSLHandlerMethods::IGNORE_METHODS['newtype'] = true
end