Sha256: 742730a17ce2f13f31c8e1096b72b9b833691fff8596ed62afbc5f3cbef7ca7e

Contents?: true

Size: 564 Bytes

Versions: 52

Compression:

Stored size: 564 Bytes

Contents

module JsDuck

  # Common routines for manipulating class names.
  class ClassName

    # Given a full class name extracts the "class"-part of the name.
    #
    #     ClassName.short("My.package.Foo") --> "Foo"
    #
    # Because we try to emulate ext-doc, it's not as simple as just
    # taking the last part.  See class_spec.rb for details.
    def self.short(name)
      parts = name.split(/\./)
      short = parts.pop
      while parts.length > 1 && parts.last =~ /^[A-Z]/
        short = parts.pop + "." + short
      end
      short
    end

  end

end

Version data entries

52 entries across 52 versions & 3 rubygems

Version Path
solvas-jsduck-6.0.0.30539 lib/jsduck/class_name.rb
solvas-jsduck-6.0.0.9571 lib/jsduck/class_name.rb
solvas-jsduck-6.0.0.6154 lib/jsduck/class_name.rb
solvas-jsduck-6.0.0.4021 lib/jsduck/class_name.rb
solvas-jsduck-6.0.0.2554 lib/jsduck/class_name.rb
solvas-jsduck-6.0.0.1891 lib/jsduck/class_name.rb
solvas-jsduck-6.0.0.beta.1888 lib/jsduck/class_name.rb
jsduck-troopjs-0.0.10 lib/jsduck/class_name.rb
jsduck-troopjs-0.0.9 lib/jsduck/class_name.rb
jsduck-troopjs-0.0.8 lib/jsduck/class_name.rb
jsduck-troopjs-0.0.7 lib/jsduck/class_name.rb
jsduck-troopjs-0.0.5 lib/jsduck/class_name.rb
jsduck-troopjs-0.0.4 lib/jsduck/class_name.rb
jsduck-troopjs-0.0.3 lib/jsduck/class_name.rb
jsduck-troopjs-0.0.1 lib/jsduck/class_name.rb
jsduck-6.0.0beta lib/jsduck/class_name.rb
jsduck-5.3.4 lib/jsduck/class_name.rb
jsduck-5.3.3 lib/jsduck/class_name.rb
jsduck-5.3.2 lib/jsduck/class_name.rb
jsduck-5.3.1 lib/jsduck/class_name.rb