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
yard-0.9.33 lib/yard/templates/helpers/uml_helper.rb
yard-0.9.32 lib/yard/templates/helpers/uml_helper.rb
yard-0.9.31 lib/yard/templates/helpers/uml_helper.rb
yard-0.9.30 lib/yard/templates/helpers/uml_helper.rb
yard-0.9.29 lib/yard/templates/helpers/uml_helper.rb
devcycle-ruby-server-sdk-2.0.0 vendor/bundle/ruby/3.0.0/gems/yard-0.9.28/lib/yard/templates/helpers/uml_helper.rb
kinetic_sdk-5.0.20 gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
yard-0.9.28 lib/yard/templates/helpers/uml_helper.rb
yard-0.9.27 lib/yard/templates/helpers/uml_helper.rb
yard-0.9.26 lib/yard/templates/helpers/uml_helper.rb
qiita_org-0.1.35 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
qiita_org-0.1.34 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
qiita_org-0.1.33 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
qiita_org-0.1.32 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
qiita_org-0.1.31 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
qiita_org-0.1.30 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
qiita_org-0.1.29 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
qiita_org-0.1.28 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
qiita_org-0.1.27 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb
qiita_org-0.1.26 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/templates/helpers/uml_helper.rb