Sha256: 170d25fa5ac3c080f188d4f8ed5f7dccadfe7b9e41c5390a4e9d55418df0bbe7

Contents?: true

Size: 1.12 KB

Versions: 12

Compression:

Stored size: 1.12 KB

Contents

# frozen_string_literal: true

require 'puppet-strings/yard/handlers/helpers'
require 'puppet-strings/yard/handlers/puppet/base'
require 'puppet-strings/yard/parsers'
require 'puppet-strings/yard/code_objects'

# Implements the handler for Puppet classes.
class PuppetStrings::Yard::Handlers::Puppet::ClassHandler < PuppetStrings::Yard::Handlers::Puppet::Base
  handles PuppetStrings::Yard::Parsers::Puppet::ClassStatement

  process do
    # Register the object
    object = PuppetStrings::Yard::CodeObjects::Class.new(statement)
    register object

    # Log a warning if missing documentation
    log.warn "Missing documentation for Puppet class '#{object.name}' at #{statement.file}:#{statement.line}." if object.docstring.empty? && object.tags.empty?

    # Set the parameter types
    set_parameter_types(object)

    # Mark the class as public if it doesn't already have an api tag
    object.add_tag YARD::Tags::Tag.new(:api, 'public') unless object.has_tag? :api

    # Warn if a summary longer than 140 characters was provided
    PuppetStrings::Yard::Handlers::Helpers.validate_summary_tag(object) if object.has_tag? :summary
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
puppet-strings-4.1.3 lib/puppet-strings/yard/handlers/puppet/class_handler.rb
puppet-strings-4.1.2 lib/puppet-strings/yard/handlers/puppet/class_handler.rb
puppet-strings-4.1.1 lib/puppet-strings/yard/handlers/puppet/class_handler.rb
puppet-strings-4.1.0 lib/puppet-strings/yard/handlers/puppet/class_handler.rb
puppet-strings-4.0.0 lib/puppet-strings/yard/handlers/puppet/class_handler.rb
puppet-strings-4.0.0.rc.1 lib/puppet-strings/yard/handlers/puppet/class_handler.rb
puppet-strings-3.0.1 lib/puppet-strings/yard/handlers/puppet/class_handler.rb
puppet-strings-3.0.0 lib/puppet-strings/yard/handlers/puppet/class_handler.rb
puppet-strings-2.9.0 lib/puppet-strings/yard/handlers/puppet/class_handler.rb
puppet-strings-2.8.0 lib/puppet-strings/yard/handlers/puppet/class_handler.rb
puppet-strings-2.7.0 lib/puppet-strings/yard/handlers/puppet/class_handler.rb
puppet-strings-2.6.0 lib/puppet-strings/yard/handlers/puppet/class_handler.rb