From: v.ondruch@... Date: 2019-12-06T13:26:01+00:00 Subject: [ruby-core:96127] [Ruby master Bug#16363] Promote did_you_mean to default gem Issue #16363 has been updated by vo.x (Vit Ondruch). I think we should go rather in opposite direction. Move all gems to "bundled" gems. Especially "did_you_mean" gem does not provide any benefit to **end user** of application and it should not be used in runtime. It is just perfectly fine when its functionality is optional. BTW since the PR was merged, this ticket should have been closed. ---------------------------------------- Bug #16363: Promote did_you_mean to default gem https://bugs.ruby-lang.org/issues/16363#change-82993 * Author: yuki24 (Yuki Nishijima) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN ---------------------------------------- The `did_you_mean` gem has been a bundled gem for over 3 years now and I think it's time to promote it to a standard library. There are two main issues in the current structure: * A number of implementations, including [`optparse.rb`](https://github.com/ruby/ruby/blob/fb6a489af2765a3b56e301adf0019af6bbad6156/lib/optparse.rb#L1792), [rake](https://github.com/ruby/rake/blob/985abffa9954d21790831d9626d9c38b24a94199/lib/rake/task_manager.rb#L69-L78), and [rails](https://github.com/rails/rails/blob/98a57aa5f610bc66af31af409c72173cdeeb3c9e/railties/lib/rails/command/spellchecker.rb#L8), now take advantage of the gem's spell checker, but it's awkward to have to check the existence of the `DidYouMean::SpellChecker` constant. * there are some problems with regard to bundler + did_you_mean because of did_you_mean being a bundled gem. Since the vendored version of thor inside bundler and ruby itself explicitly requires did_you_mean, it can become difficult to load it when using Bundler.setup. See this issue: https://github.com/yuki24/did_you_mean/issues/117#issuecomment-482733159 for more details. I would like to promote the gem up to a standard library and make it always available, so we can always reliably require it whenever we want to. A patch could be found here: https://github.com/ruby/ruby/pull/2689 -- https://bugs.ruby-lang.org/ Unsubscribe: