Ruby Fractal Library 1.2.0
Posted by Ryan Baxter Thu, 27 Aug 2009 02:36:00 GMT
I’ve finally released version 1.2.0 of the Ruby Fractal Library. It’s still just as small and easy to use, but with a few new twists. I’ve removed most of the duplicate code, added Procs where appropriate, and made the syntax more consistent. The result is much more readable and should be easier to maintain.
- The source code has been split into multiple files. One for each module.
- Each of the fractals has been distilled to a single block passed to the Fractal base class’ constructor. This makes it easy to construct new orbits fractals by either inheriting from Fractal or instantiating it directly.
- Classes have been added for the Burning Ship and Newton fractals.
- A ‘Winter’ theme has been added.
- Users can now choose which dependancy nightmare they’d prefer. PNG, RMagick and JRuby each have their own renderer. PNGRenderer is the default, but is easy to override with the renderer= method.
- bailout and max_iterations are no longer constructor parameters. This is the biggest breaking change.
- Unit tests have been added for each fractal.
- Several rake tasks have been added to make installation and gem creation easier.
- RDoc documentation is now available.
A project for this library has been created at RubyForge, but the source code can still be found at the same old place. I’m considering a move to github, but I’ll make an announcement if that happens. If you decide to download the Ruby Fractal Library, be sure to check out examples.rb in the project’s source. You should also take a look at the README file and documentation before getting started. Make some fractals and enjoy! Bugs can be filed at the RubyForge tracker.
- Meta 2 comments, permalink, rss, atom


I did this by design since the library was meant to have pluggable renderers. I have, however, changed this in trunk. In release 1.2.1, the PNG gem will be installed as a dependency. I've also fixed a few more typos.
svn checkout http://svn.ryanbaxter.net/fractals/trunk fractals
or wait a day or two till 1.2.1.