James Edward Gray II wrote:

> I'm trying to understand the above trick:
> 
> extends self
> 
> My guess:  You duplicated all of Solitaires' methods as class methods?
> 
> [snip]
> 
> So why did you write it this way?
> 
> Big Guess (really reaching now):  To provide a convenient interface to 
> use the module stand-alone while also allowing it to be mixed into 
> future creations?

Exactly. I think the same would be done if I had used a standalone 
module_function(), but then all the instance methods would also be private.

It's interesting how Ruby's object model lets you do things like this.

> Thanks for the lesson.

Glad I could give it. :)

Regards,
Florian Gross