Sha256: ed32183d6b0a081bceb320826b85c45bc7ee7d0cb61dd14f6efb8bfbe9a712b6
Contents?: true
Size: 877 Bytes
Versions: 1
Compression:
Stored size: 877 Bytes
Contents
require 'mirrors/mirror' require 'mirrors/package_inference' module Mirrors class PackageMirror < Mirror def self.reflect(name) new(name) end def name @subject.sub(/.*:/, '') end def fullname @subject end 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 end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mirrors-0.0.3 | lib/mirrors/package_mirror.rb |