Sha256: b1453bfea3e4060188f821452a3fddc0036216c0ec04ff1c420c9351e282a69d

Contents?: true

Size: 1.11 KB

Versions: 16

Compression:

Stored size: 1.11 KB

Contents

require "jsduck/tag_registry"

module JsDuck

  # Access to member tags
  class MemberRegistry
    class << self
      # Same as #definitions, but returns just the names of member types.
      def names
        definitions.map {|mt| mt[:name] }
      end

      # Returns array of available member type definitions.
      # Sorted in the order defined by :position.
      def definitions
        if !@definitions
          @definitions = TagRegistry.tags.find_all do |tag|
            tag.respond_to?(:member_type) && tag.member_type
          end.map do |tag|
            cfg = tag.member_type
            cfg[:name] = tag.tagname
            cfg
          end
          @definitions.sort! {|a, b| a[:position] <=> b[:position] }
        end

        @definitions
      end

      # Regex for matching member type name in member reference.
      #
      # The regex matches strings like: "method-" or "event-".  It
      # contains a capture group to capture the actual name of the
      # member, leaving out the dash "-".
      def regex
        @regex ||= Regexp.new("(?:(" + names.join("|") + ")-)")
      end
    end
  end

end

Version data entries

16 entries across 16 versions & 3 rubygems

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