Powerpack is a small Ruby library containing (at this point) a few extensions to some core Ruby classes. I guess that in a way one can say it’s something like Rails’s ActiveSupport, but with much smaller scope.

Since extending core classes is nasty business great care has been taken to do so properly. For one - Powerpack would not include its extension methods if the target class already has method named the same way.

Additionally - you’re able to selectively use the extension methods that Powerpack provides.You can load the entire powerpack library:

require 'powerpack'

You can load only the String extensions:

require 'powerpack/string'

You can load only a specific extension like String#format :

require 'powerpack/string/format'

Powerpack was born from my work on the RuboCop static code analyzer. From time to time I wished I had some of ActiveSupport’s methods (but was unwilling to use ActiveSupport for various reasons) or some useful method I’ve come across in the standard libraries of other popular languages( String#format was inspired from Java, Numeric#pos? and Numeric#neg? were inspired from Clojure, etc). It has been helpful to me and I guess it might be helpful to some of you as well.

If you’d like to know more, have a look at the online docs.

I’d love to hear your thoughts about Powerpack in its current form and suggestions about its future (more helpful extensions for instance). Comments, tickets and Twitter are at your disposal!