After posting an article on AirPair.com about SuperModule v1.0.0 and getting quite a bit of feedback on it in the form of article reviews and reddit posts, I decided to make a new revision with quite a number of improvements, which was released yesterday as SuperModule v1.1.0:
What's New in v1.1.0?
- Brand new
self
-friendly algorithm that ensures true mixing of super module singleton methods into the including base class or module, thus always returning the actual base class or moduleself
when invoking a super module inherited singleton method (thanks to Banister for reporting previous limitation on Reddit and providing suggestions) - New
included_super_modules
inherited singleton method that provides developer with a list of all included super modules similar to the Rubyincluded_modules
method. - No more use for method_missing (Thanks to Marc-André Lafortune, a Ruby language contributor, for bringing up as a previous limitation in AirPair article reviews)
- New dependency on Banister's method_source library to have the self-friendly algorithm eval inherited class method sources into the including base class or module.
- Refactorings, including break-up of the original SuperModule into 3 modules in separate files
- More RSpec test coverage, including additional method definition scenarios, such as when adding dynamically via
class_eval
anddefine_method
Cheers...
No comments:
Post a Comment