Issue #16824 has been updated by marcandre (Marc-Andre Lafortune).


We can't do this in general, sadly. For example, there exist two gems `file-utils` and `file_utils`, both of which use `require 'file_utils'` to be used.

Some other gems are conflict free (e.g. neither `open_struct` or `open-struct` are reserved) so it could very well be done without any downside.

Would it not be a good idea to at least reserve gem names like `open_struct` or `open-struct`?

----------------------------------------
Feature #16824: Follow RubyGems naming conventions for the stdlib
https://bugs.ruby-lang.org/issues/16824#change-85341

* Author: shan (Shannon Skipper)
* Status: Rejected
* Priority: Normal
----------------------------------------
It's been really nice that most gems these days follow the RubyGems naming convention, so you know exactly what to require just from seeing the gem name: https://guides.rubygems.org/name-your-gem/

I wonder if it would be possible to add aliases for parts of the stdlib that don't follow the convention for Ruby 3.0. I was thinking maybe shims like lib/optionparser.rb, which just does a require_relative of lib/optparse.rb. The following files are what I'd expect, given the namespaces.

	new file:   file_utils.rb
	new file:   getopt_long.rb
	new file:   ip_addr.rb
	new file:   open_struct.rb
	new file:   open_uri.rb
	new file:   option_parser.rb
	new file:   p_store.rb
	new file:   r_doc.rb
	new file:   secure_random.rb
	new file:   t_sort.rb
	new file:   weak_ref.rb

Eventually the old name could be the shim and new one actually contain the code on the path to deprecating old names in some future Ruby.

Anyway, I just wanted to put the suggestion out there to adopt naming conventions for the stdlib as it's gemified. Ruby 3 seems like a nice time. :)



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>