Sha256: aaed997557f545f9111ea0944aa64fb72afcd372330f65c8e9671be43520f661

Contents?: true

Size: 788 Bytes

Versions: 6

Compression:

Stored size: 788 Bytes

Contents

# frozen_string_literal: true

require 'puppet-strings/yard/code_objects'

# Implements a parameter directive (e.g. #@!puppet.type.param) for documenting Puppet resource types.
class PuppetStrings::Yard::Tags::ParameterDirective < YARD::Tags::Directive
  # Called to invoke the directive.
  # @return [void]
  def call
    return unless object.respond_to?(:add_parameter)

    # Add a parameter to the resource
    parameter = PuppetStrings::Yard::CodeObjects::Type::Parameter.new(tag.name, tag.text)
    tag.types&.each do |value|
      parameter.add(value)
    end
    object.add_parameter parameter
  end

  # Registers the directive with YARD.
  # @return [void]
  def self.register!
    YARD::Tags::Library.define_directive('puppet.type.param', :with_types_and_name, self)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
puppet-strings-4.1.3 lib/puppet-strings/yard/tags/parameter_directive.rb
puppet-strings-4.1.2 lib/puppet-strings/yard/tags/parameter_directive.rb
puppet-strings-4.1.1 lib/puppet-strings/yard/tags/parameter_directive.rb
puppet-strings-4.1.0 lib/puppet-strings/yard/tags/parameter_directive.rb
puppet-strings-4.0.0 lib/puppet-strings/yard/tags/parameter_directive.rb
puppet-strings-4.0.0.rc.1 lib/puppet-strings/yard/tags/parameter_directive.rb