class Mirrors::PackageMirror

Public Class Methods

reflect(name) click to toggle source
# File lib/mirrors/package_mirror.rb, line 6
def self.reflect(name)
  new(name)
end

Public Instance Methods

children() click to toggle source
# File lib/mirrors/package_mirror.rb, line 18
def children
  names = PackageInference.contents_of_package(@subject)
  classes = (names || [])
    .map { |n| Object.const_get(n) }
    .select { |c| c.is_a?(Module) }
    .sort_by(&:name)
  class_mirrors = mirrors(classes)

  # .map    { |pkg| pkg.sub(/#{Regexp.quote(@subject)}:.*?:.*/) }
  subpackages = PackageInference.qualified_packages
    .select { |pkg| pkg.start_with?("#{@subject}:") }
    .sort

  puts subpackages.inspect

  package_mirrors = subpackages.map { |pkg| PackageMirror.reflect(pkg) }
  package_mirrors.concat(class_mirrors)
end
fullname() click to toggle source
# File lib/mirrors/package_mirror.rb, line 14
def fullname
  @subject
end
name() click to toggle source
# File lib/mirrors/package_mirror.rb, line 10
def name
  @subject.sub(/.*:/, '')
end