Project

General

Profile

Feature #16363

Promote did_you_mean to default gem

Added by yuki24 (Yuki Nishijima) 2 months ago. Updated about 2 months ago.

Status:
Closed
Priority:
Normal
Target version:
-
[ruby-core:95917]

Description

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, rake, and rails, 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


Related issues

Related to Ruby master - Bug #16427: Revert did_you_mean promotion to default gem.RejectedActions
Related to Ruby master - Feature #16431: Optionally load did_you_mean (and RubyGems)OpenActions

History

Updated by shevegen (Robert A. Heiler) 2 months ago

\o/

(^ That's an upvote emoji really.)

Updated by matz (Yukihiro Matsumoto) 2 months ago

Accepted. Go ahead.

Matz.

Updated by vo.x (Vit Ondruch) about 2 months ago

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.

#4

Updated by jeremyevans0 (Jeremy Evans) about 2 months ago

  • Status changed from Open to Closed

Updated by hsbt (Hiroshi SHIBATA) about 2 months ago

  • Backport deleted (2.5: UNKNOWN, 2.6: UNKNOWN)
  • Assignee set to yuki24 (Yuki Nishijima)
  • Tracker changed from Bug to Feature
#6

Updated by vo.x (Vit Ondruch) about 1 month ago

  • Related to Bug #16427: Revert did_you_mean promotion to default gem. added
#7

Updated by vo.x (Vit Ondruch) about 1 month ago

  • Related to Feature #16431: Optionally load did_you_mean (and RubyGems) added

Also available in: Atom PDF