Sha256: a4f2619d521fff8e7db7390716c0c70b213da4d1f989c29a3ae599ca137d0f0d
Contents?: true
Size: 759 Bytes
Versions: 19
Compression:
Stored size: 759 Bytes
Contents
module Rasti class App class Utils class << self def classes_in(namespace, superclass=nil) [].tap do |classes| namespace.constants.each do |name| constant = namespace.const_get name if constant.class == Module classes_in(constant, superclass).each { |c| classes << c } elsif constant.class == Class && (superclass.nil? || constant.ancestors.include?(superclass)) classes << constant end end end end def namespace_of(klass) namespace = klass.name.split('::')[0..-2].join('::') namespace.empty? ? nil : Object.const_get(namespace) end end end end end
Version data entries
19 entries across 19 versions & 1 rubygems