Class: JsDuck::MemberRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/jsduck/member_registry.rb

Overview

Access to member tags

Class Method Summary collapse

Class Method Details

.definitionsObject

Returns array of available member type definitions. Sorted in the order defined by :position.



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/jsduck/member_registry.rb', line 15

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

.namesObject

Same as #definitions, but returns just the names of member types.



9
10
11
# File 'lib/jsduck/member_registry.rb', line 9

def names
  definitions.map {|mt| mt[:name] }
end

.regexObject

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 “-”.



35
36
37
# File 'lib/jsduck/member_registry.rb', line 35

def regex
  @regex ||= Regexp.new("(?:(" + names.join("|") + ")-)")
end