method
ignored_modules
v2_6_3 -
Show latest stable
-
0 notes -
Class: IRB::InputCompletor
- 1_8_6_287
- 1_8_7_72
- 1_8_7_330
- 1_9_1_378
- 1_9_2_180
- 1_9_3_125
- 1_9_3_392
- 2_1_10
- 2_2_9
- 2_4_6
- 2_5_5
- 2_6_3 (0)
- What's this?
ignored_modules()
public
Hide source
# File lib/irb/completion.rb, line 213 def self.ignored_modules # We could cache the result, but this is very fast already. # By using this approach, we avoid Module#name calls, which are # relatively slow when there are a lot of anonymous modules defined. s = {} scanner = lambda do |m| next if s.include?(m) # IRB::ExtendCommandBundle::EXCB recurses. s[m] = true m.constants(false).each do |c| value = m.const_get(c) scanner.call(value) if value.is_a?(Module) end end %(IRB SLex RubyLex RubyToken).each do |sym| next unless Object.const_defined?(sym) scanner.call(Object.const_get(sym)) end s.delete(IRB::Context) if defined?(IRB::Context) s end