module Such::Things

Public Class Methods

in(superklass) click to toggle source
# File lib/such/things.rb, line 11
def self.in(superklass)
  Things.list(superklass).each do |klass|
    begin
      Things.subclass(klass)
    rescue
      $stderr.puts "#{$!.class}:\t#{superklass}" if $VERBOSE
    end
  end
end
list(superklass) click to toggle source
# File lib/such/things.rb, line 3
def self.list(superklass)
  ObjectSpace.each_object(Class).select{|klass| klass < superklass}
end
subclass(klass) click to toggle source
# File lib/such/things.rb, line 7
def self.subclass(klass)
  Such.subclass(klass.name.sub(/^.*::/,'').to_sym, klass, include: Such::Thing)
end