lib/lizarb/ruby/class.rb in lizarb-1.0.4 vs lib/lizarb/ruby/class.rb in lizarb-1.0.5

- old
+ new

@@ -1,17 +1,25 @@ # frozen_string_literal: true class Class - public :eval def descendants ObjectSpace.each_object(Class).select { |klass| klass < self } end + def and_descendants + ObjectSpace.each_object(Class).select { |klass| klass <= self } + end + + def ancestors_until klass + ancestors.take_while { _1 <= klass } + end + def first_namespace name.rpartition('::')[0] end def last_namespace name.rpartition('::')[-1] end + end