Active Support — Utility classes and standard library extensions from Rails
ArtOfInterviews has just released a new post on phone interview tips. If you have a job interview coming up and they want to talk to you on the phone first, check out this resource! Phone interviewing can go so much smoother with these 9 priceless phone interview tips.
Active Support is a collection of various utility classes and standard
library extensions that were found useful for Rails. All these additions
have hence been collected in this bundle as way to gather all that sugar
that makes Ruby sweeter.
The latest version of Active Support can be found at
Documentation can be found at
The preferred method of installing Active Support is through its GEM file.
You’ll need to have RubyGems installed
for that, though. If you have it, then use:
% [sudo] gem install activesupport-1.0.0.gem
Active Support is released under the MIT license.
Feel free to submit commits or feature requests. If you send a patch, remember to update the corresponding unit tests. If fact, I prefer new feature to be submitted in the form of new unit tests.
For other information, feel free to ask on the ruby-talk mailing list
(which is mirrored to comp.lang.ruby) or contact mailto:firstname.lastname@example.org.
|ActiveSupport||OrderedHash is namespaced to prevent conflicts with other implementations|
|Builder||If the Builder::XChar module is not currently defined, fail on any name
clashes in standard library classes.
|ClassInheritableAttributes||Retain for backward compatibility. Methods are now included in Class.|
|FileLike||This module exists to decorate files deserialized using Hash.from_xml with
the original_filename and content_type methods.
|Inflector||The Inflector transforms words from singular to plural, class names to
table names, modularized class names to ones without, and class names to
foreign keys. The default inflections for pluralization, singularization,
and uncountable words are kept in inflections.rb.
|Kernel||Since Ruby is very dynamic, methods added to the ancestors of BlankSlate
after BlankSlate is defined will show up in the list of available
BlankSlate methods. We handle this by defining a hook in the Object and
Kernel classes that will hide any method defined after BlankSlate has been
|BlankSlate||BlankSlate provides an abstract base class with no predefined methods
(except for __send__ and __id__). BlankSlate is useful as
a base class when writing classes that depend upon method_missing
(e.g. dynamic proxies).
|Class||These class attributes behave something like the class inheritable
accessors. But instead of copying the hash over at the time the subclass is
first defined, the accessors simply delegate to their superclass unless
they have been given a specific value. This stops the strange situation
where values set after class definition don’t get applied to
|Exception||Add file-blaming to exceptions|
|Fixnum||Enhance the Fixnum class with a XML escaped character conversion.|
|HashWithIndifferentAccess||This class has dubious semantics and we only have it so that people can
write params[:key] instead of params[‘key’]
|Logger||Adds the ‘around_level’ method to Logger.|
|MemCache||A Ruby client library for memcached.|
|Module||Extends the module object with module and instance accessors for class
attributes, just like the native attr* accessors for instance attributes.
|NameError||Add a missing_name method to NameError instances.|
|NilClass||Extensions to nil which allow for more helpful error messages for people
who are new to rails.
|Object||Same as above, except in Object.|
|String||Enhance the String class with a XML escaped character version of to_s.|
|Time||Ruby 1.8-cvs and 1.9 define private Time#to_date|
|XmlSimple||Locked down XmlSimple#xml_in_string|