Issue #16824 has been updated by shevegen (Robert A. Heiler).


The optionparser situation is indeed quite ... peculiar to me:

    require 'optparse'
    OptionParser.new

My brain has a hard time with it. I'd prefer:

    require 'optionparser'

or

    require 'option_parser' # <- would probably be best.

Anyway - I don't have a strong preference, but personally I agree with havenwood (shan).

If one issue is backwards compatibility or other gems that do the same, then that
could go for consideration in ruby 4.0 perhaps, so years from now on.

zverok wrote:

> I remember there was a quirk require "openstruct" вк ugh, oh, require "ostruct".

Yeah, similar to optparse. I guess you can reason that 'ostruct' is shorter to
write than 'openstruct', but I myself prefer a consistent naming. But as said,
I don't have a big preference really.

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

* Author: shan (Shannon Skipper)
* Status: Open
* 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>