Sha256: 7b4b7526fa36b40836c048c0f15f5b4b9111f6fa3c535ac40598580f0bfa611d

Contents?: true

Size: 943 Bytes

Versions: 4

Compression:

Stored size: 943 Bytes

Contents

# frozen_string_literal: true

require 'puppet-strings/yard/code_objects/base'

# Implements the base class for "groups".
#
# A group behaves like a YARD namespace object, but displays differently in the HTML output.
class PuppetStrings::Yard::CodeObjects::Group < PuppetStrings::Yard::CodeObjects::Base
  # Gets the singleton instance of the group.
  # @param [Symbol] key The key to lookup the group for.
  # @return Returns the singleton instance of the group.
  def self.instance(key)
    instance = P(:root, key)
    return instance unless instance.is_a?(YARD::CodeObjects::Proxy)

    instance = self.new(:root, key)
    instance.visibility = :hidden
    P(:root).children << instance
    instance
  end

  # Gets the path to the group.
  # @return [String] Returns the path to the group.
  def path
    @name.to_s
  end

  # Gets the type of the group.
  # @return [Symbol] Returns the type of the group.
  def type
    @name
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puppet-strings-2.9.0 lib/puppet-strings/yard/code_objects/group.rb
puppet-strings-2.8.0 lib/puppet-strings/yard/code_objects/group.rb
puppet-strings-2.7.0 lib/puppet-strings/yard/code_objects/group.rb
puppet-strings-2.6.0 lib/puppet-strings/yard/code_objects/group.rb