Sha256: 6e5a89f40d0096963f4a1276d9061527e85b139f6b040699bc3ca9b53ef1c1e6

Contents?: true

Size: 621 Bytes

Versions: 3

Compression:

Stored size: 621 Bytes

Contents

module JsDuck

  # Provides information about direct descendants of particular class.
  #
  # The constructor is initialized with array of all available
  # classes.  Then through [] method subclasses of particlular class
  # can be asked for.
  class Subclasses
    def initialize(classes)
      @subs = {}
      classes.each do |cls|
        if !cls.parent
          # do nothing
        elsif @subs[cls.parent.full_name]
          @subs[cls.parent.full_name] << cls
        else
          @subs[cls.parent.full_name] = [cls]
        end
      end
    end

    def [](cls)
      @subs[cls.full_name]
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
jsduck-0.4 lib/jsduck/subclasses.rb
jsduck-0.3 lib/jsduck/subclasses.rb
jsduck-0.2 lib/jsduck/subclasses.rb