Module: Such::Things

Defined in:
lib/such/things.rb

Class Method Summary collapse

Class Method Details

.in(superklass) ⇒ Object



11
12
13
14
15
16
17
18
19
# 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) ⇒ Object



3
4
5
# File 'lib/such/things.rb', line 3

def self.list(superklass)
  ObjectSpace.each_object(Class).select{|klass| klass < superklass}
end

.subclass(klass) ⇒ Object



7
8
9
# File 'lib/such/things.rb', line 7

def self.subclass(klass)
  Such.subclass(klass.name.sub(/^.*::/,'').to_sym, klass, include: Such::Thing)
end