Sha256: 81be2a52f87885dc810a3c5e8b36fa9764712c629c888bf5067e2e8b712efd21
Contents?: true
Size: 490 Bytes
Versions: 8
Compression:
Stored size: 490 Bytes
Contents
module MJ; class Visitable def accept( visitor ) method_name = nil klass = self.class.ancestors.find do |ancestor| method_name = "visit_#{ancestor.name.split('::')[-1]}" visitor.respond_to?( method_name ) end if klass return visitor.send( method_name, self ) else raise "#{visitor.class}: Should not happen!" end end end end
Version data entries
8 entries across 8 versions & 1 rubygems