On Jul 5, 6:25 ¨Âí¬ ÂòéáÃáîäìå¼â®ãáîä®®®Àðïâïø®ãïí÷òïôåº > Thomas Sawyer wrote: > > Library: foo-bar > > Directory: lib/foo/bar > > Namespace: Foo::Bar > > > Library: foo_bar > > Directory: lib/foo_bar > > Namespace: FooBar > > > That being the case I think Ruby needs to include methods to make it > > easy to translate between these. In ActiveSupport these methods are > > String#pathize and String#methodize. I would think there would also be > > something like String#modulize. > > Perhaps you're thinking of camelize and underscore in > lib/active_support/inflector.rb Oh? My bad, I thought it had #pathize and #methodize too. > # Examples: > # "active_record".camelize => "ActiveRecord" > # "active_record".camelize(:lower) => "activeRecord" > # "active_record/errors".camelize # => > "ActiveRecord::Errors" > # "active_record/errors".camelize(:lower) # => > "activeRecord::Errors" > > # Examples: > # "ActiveRecord".underscore # => "active_record" > # "ActiveRecord::Errors".underscore # => active_record/errors > > Each of these methods is only a few lines. I've seen them copy-pasted in > several projects... In Facets those are #camelcase and #snakecase, but it also has the other methods -- No problem getting access to such methods. Just think Ruby needs to support something along these lines out the box if the correspondence should be considered a standard.