From: Scott Gonyea Date: 2010-11-16T08:06:44+09:00 Subject: Re: How to Name Gems - A STRONG Recommendation Also, don't forget to name your gem after something common to the outside-world. Really common. Plugging up Google is a team effort, people. Scott On Nov 15, 2010, at 2:19 PM, Eric Hodel wrote: > If you went to the first round of RubyConf lightning talks you saw me say this already, but I got enough applause that this needs wider dissemination. > > Here is my STRONG recommendation on how to name gems: > > == Use underscores > > * fancy_require > * newrelic_rpm > * ruby_parser > > This matches the file the user will require and makes it easier for the user to start using your gem. gem install my_gem will be loaded by require 'my_gem'. > > == Use dashes for extensions > > * net-http-persistent > * rdoc-chm > * autotest-growl > > If you're adding functionality to another gem use a dash. The dash is different-enough from an underscore to be noticeable. If you tilt the dash a bit it becomes a slash as well, making it easier for the user to know what to require. gem install net-http-persistent becomesrequire 'net/http/persistent' > > == Don't use UPPERCASE letters > > OS X and Windows have case-insensitive filesystems by default. Users may mistakenly require files from a gem using uppercase letters which will be non-portable if they move it to a non-windows or OS X system. While this will mostly be a newbie mistake we don't need to be confusing them more than necessary. > > If you would like to pass this around outside the list I've got this on my blog as well: > > Short: http://bit.ly/gem_names > Long: http://blog.segment7.net/articles/2010/11/15/how-to-name-gems