Skip to content

Commit 6bbae68

Browse files
committed
Use is_a? to determine if obj is a Class or Module
1 parent 69b556c commit 6bbae68

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

lib/irb/command/ls.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ def execute(arg)
5656
o = Output.new(grep: grep)
5757

5858
klass = Kernel.instance_method(:class).bind(obj).call
59-
is_class_or_module = klass == Class || klass == Module
60-
klass = is_class_or_module ? obj : klass
59+
obj_is_module = Kernel.instance_method(:is_a?).bind(obj).call(Module) # Class is also a Module
60+
klass = obj_is_module ? obj : klass
6161

62-
o.dump("constants", obj.constants) if is_class_or_module
62+
o.dump("constants", obj.constants) if obj_is_module
6363
dump_methods(o, klass, obj)
6464
o.dump("instance variables", Kernel.instance_method(:instance_variables).bind(obj).call)
6565
o.dump("class variables", klass.class_variables)

0 commit comments

Comments
 (0)