class PuppetStrings::Yard::Tags::PropertyDirective

Implements a parameter directive (e.g. #@!puppet.type.property) for documenting Puppet resource types.

Public Class Methods

register!() click to toggle source

Registers the directive with YARD. @return [void]

# File lib/puppet-strings/yard/tags/property_directive.rb, line 21
def self.register!
  YARD::Tags::Library.define_directive('puppet.type.property', :with_types_and_name, self)
end

Public Instance Methods

call() click to toggle source

Called to invoke the directive. @return [void]

# File lib/puppet-strings/yard/tags/property_directive.rb, line 7
def call
  return unless object && object.respond_to?(:add_property)
  # Add a property to the resource
  property = PuppetStrings::Yard::CodeObjects::Type::Property.new(tag.name, tag.text)
  if tag.types
    tag.types.each do |value|
      property.add(value)
    end
  end
  object.add_property property
end