Just an implementation of Visitor design patter in Ruby. As far as double dispatch is applicable for a language with dynamic typing.
Dmitriy Kiriyenko, Maxim Tsaplin
gem "visitor", "~> 0.0.1"