ruby/prelude.rb
Hiroshi SHIBATA 684cfa42d7 Avoid to infinite require loop for irb.
if irb and that dependency are broken, it caused infinite loop with force_activate("irb").
2025-04-10 18:44:40 +09:00

36 lines
603 B
Ruby

class Binding
# :nodoc:
def irb(...)
begin
require 'irb'
rescue LoadError, Gem::LoadError
Gem::BUNDLED_GEMS.force_activate 'irb'
require 'irb'
end
irb(...)
end
# suppress redefinition warning
alias irb irb # :nodoc:
end
module Kernel
def pp(*objs)
require 'pp'
pp(*objs)
end
# suppress redefinition warning
alias pp pp # :nodoc:
private :pp
end
autoload :Set, 'set'
module Enumerable
# Makes a set from the enumerable object with given arguments.
def to_set(klass = Set, *args, &block)
klass.new(self, *args, &block)
end
end