Sha256: bf1392a0f5211bc5ad9b1579ff595623227161e5c20bed921462bbf44f44ece7

Contents?: true

Size: 1.43 KB

Versions: 63

Compression:

Stored size: 1.43 KB

Contents

# frozen_string_literal: true
module YARD
  module Templates::Helpers
    # Helpers for UML template format
    module UMLHelper
      # Official UML visibility prefix syntax for an object given its visibility
      # @param [CodeObjects::Base] object the object to retrieve visibility for
      # @return [String] the UML visibility prefix
      def uml_visibility(object)
        case object.visibility
        when :public;    '+'
        when :protected; '#'
        when :private;   '-'
        end
      end

      # Formats the path of an object for Graphviz syntax
      # @param [CodeObjects::Base] object an object to format the path of
      # @return [String] the encoded path
      def format_path(object)
        object.path.gsub('::', '_')
      end

      # Encodes text in escaped Graphviz syntax
      # @param [String] text text to encode
      # @return [String] the encoded text
      def h(text)
        text.to_s.gsub(/(\W)/, '\\\\\1')
      end

      # Tidies data by formatting and indenting text
      # @param [String] data pre-formatted text
      # @return [String] tidied text.
      def tidy(data)
        indent = 0
        data.split(/\n/).map do |line|
          line.gsub!(/^\s*/, '')
          next if line.empty?
          indent -= 1 if line =~ /^\s*\}\s*$/
          line = (' ' * (indent * 2)) + line
          indent += 1 if line =~ /\{\s*$/
          line
        end.compact.join("\n") + "\n"
      end
    end
  end
end

Version data entries

63 entries across 62 versions & 9 rubygems

Version Path
kinetic_sdk-5.0.29 gems/yard-0.9.36/lib/yard/templates/helpers/uml_helper.rb
kinetic_sdk-5.0.28 gems/yard-0.9.36/lib/yard/templates/helpers/uml_helper.rb
direct7-0.0.18 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/templates/helpers/uml_helper.rb
direct7-0.0.17 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/templates/helpers/uml_helper.rb
direct7-0.0.16 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/templates/helpers/uml_helper.rb
yard-0.9.37 lib/yard/templates/helpers/uml_helper.rb
kinetic_sdk-5.0.27 gems/yard-0.9.36/lib/yard/templates/helpers/uml_helper.rb
kinetic_sdk-5.0.26 gems/yard-0.9.36/lib/yard/templates/helpers/uml_helper.rb
kinetic_sdk-5.0.25 gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
kinetic_sdk-5.0.24 gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
direct7-0.0.13 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/templates/helpers/uml_helper.rb
yard-0.9.36 lib/yard/templates/helpers/uml_helper.rb
yard-0.9.35 lib/yard/templates/helpers/uml_helper.rb
direct7-0.0.12 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/templates/helpers/uml_helper.rb
kinetic_sdk-5.0.23 gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
getargv-0.3.3-universal-darwin vendor/bundle/ruby/3.3.0/gems/yard-0.9.34/lib/yard/templates/helpers/uml_helper.rb
direct7-0.0.11 vendor/bundle/ruby/2.7.0/gems/yard-0.9.34/lib/yard/templates/helpers/uml_helper.rb
kinetic_sdk-5.0.22 gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
kinetic_sdk-5.0.21 gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
yard-0.9.34 lib/yard/templates/helpers/uml_helper.rb