Module: Wizport::Visitor::InstanceMethods

Defined in:
lib/wizport/visitor.rb

Instance Method Summary collapse

Instance Method Details

#visit_for(visitable) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/wizport/visitor.rb', line 22

def visit_for(visitable)
  visitable.class.ancestors.each do |ancestor|
    method_name = "visit_#{ancestor.name}"
    return send method_name, visitable if respond_to? method_name
  end
  raise "Can't handle #{visitable.class}"
end