Ruby Weekly News: 05/19/2003
A summary of activity on the ruby-talk mailing list, brought to you
this week by Holden Glova.
ANNOUNCEMENTS
···
=============
Madeleine 0.3
Anders Bengtsson has released a new version of Madeleine.
Madeleine is a Ruby implementation of Object Prevalence:
Transparent persistence of business objects using command
logging and snapshots. Get Madeleine([1]).
OpenSSL
Michal Rokos has released a new version of his OpenSSL module
for Ruby. You should be using OpenSSL >= 0.9.7 & Ruby >= 1.7.3
Get Ruby OpenSSL([2]).
wxRuby Beta 0.01
Park Heesob has announced he has been working on Ruby bindings
for wxWindows([3]). This is an early beta release. Get
wxRuby([4]).
INTERESTING THREADS
Objects vs. Data Structures
Elegantly designing solutions for even the simpliest problem
can challenge many object-orientated paradigms and idioms. This
thread shows some ways you can get things done while
continueing to evolve your object model. An interesting read.
Enumerable#each with arguments
Carlos, an RWN reader, submitted this summary - many thanks
Carlos.
Joel VanderWerf issued a suggestion: instance methods in
Enumerable should pass on their arguments to #each. The
rationale was, there are classes (Joel mentioned
REXML::Elements and ObjectSpace) where #each takes arguments,
but one can not make #collect and friends use this
each-with-argument method because they themselves don't take
arguments. Matz answered([5]) with an alternative approach in
15 lines of Ruby code: extend Enumerable with a method
#each_with, which takes the argument you want to pass to your
object's #each and returns an object of class Enumerator. Call
any Enumerable method on this object, and when its #each method
is called, it will call your original object's each method
#with the supplied argument.
References