summaryrefslogtreecommitdiff
path: root/prelude.rb
diff options
context:
space:
mode:
authorHiroshi SHIBATA <[email protected]>2024-11-13 16:43:01 +0900
committerHiroshi SHIBATA <[email protected]>2024-11-13 16:54:20 +0900
commit38b07a7feee2afb229882f270af1947273f13a2f ()
treeaf71b0b0b5532cec004047975deb07e23aee847c /prelude.rb
parent233576843721a551fa276ba5c3cf19b38fa4ead1 (diff)
Revert force_activate feature. It's unnecessary for Ruby 3.4.
I will add this feature for Ruby 3.5 again.
-rw-r--r--prelude.rb39
1 files changed, 1 insertions, 38 deletions
@@ -1,49 +1,12 @@
class Binding
# :nodoc:
def irb
- begin
- require 'irb'
- rescue LoadError, Gem::LoadError
- force_activate 'irb'
- retry
- end
irb
end
# suppress redefinition warning
alias irb irb # :nodoc:
-
- private def force_activate(gem)
- Bundler.reset!
-
- builder = Bundler::Dsl.new
- if Bundler.definition.gemfiles.empty? # bundler/inline
- Bundler.definition.locked_gems.specs.each{|spec| builder.gem spec.name, spec.version.to_s }
- else
- Bundler.definition.gemfiles.each{|gemfile| builder.eval_gemfile(gemfile) }
- end
- builder.gem gem
-
- definition = builder.to_definition(nil, true)
- definition.validate_runtime!
-
- begin
- orig_ui = Bundler.ui
- orig_no_lock = Bundler::Definition.no_lock
-
- ui = Bundler::UI::Shell.new
- ui.level = "silent"
- Bundler.ui = ui
- Bundler::Definition.no_lock = true
-
- Bundler::Runtime.new(nil, definition).setup
- rescue Bundler::GemNotFound
- warn "Failed to activate #{gem}, please install it with 'gem install #{gem}'"
- ensure
- Bundler.ui = orig_ui
- Bundler::Definition.no_lock = orig_no_lock
- end
- end
end
module Kernel