Sha256: b13e1623656711177c885cb8e9f6cf6273f69389300532247d8fed9e23c75824

Contents?: true

Size: 861 Bytes

Versions: 4

Compression:

Stored size: 861 Bytes

Contents

# frozen_string_literal: true

require_relative 'puppet_class'

module PuppetStrings::Markdown
  module PuppetClasses

    # @return [Array] list of classes
    def self.in_classes
      arr = YARD::Registry.all(:puppet_class).sort_by!(&:name).map!(&:to_hash)
      arr.map! { |a| PuppetStrings::Markdown::PuppetClass.new(a) }
    end

    def self.contains_private?
      result = false
      unless in_classes.nil?
        in_classes.find { |klass| klass.private? }.nil? ? false : true
      end
    end

    def self.render
      final = in_classes.length > 0 ? "## Classes\n\n" : ""
      in_classes.each do |klass|
        final += klass.render unless klass.private?
      end
      final
    end

    def self.toc_info
      final = ["Classes"]

      in_classes.each do |klass|
        final.push(klass.toc_info)
      end

      final
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puppet-strings-2.9.0 lib/puppet-strings/markdown/puppet_classes.rb
puppet-strings-2.8.0 lib/puppet-strings/markdown/puppet_classes.rb
puppet-strings-2.7.0 lib/puppet-strings/markdown/puppet_classes.rb
puppet-strings-2.6.0 lib/puppet-strings/markdown/puppet_classes.rb