Module: Katuv::VisitorBehavior
- Defined in:
- lib/katuv/visitor_behavior.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
3 4 5 |
# File 'lib/katuv/visitor_behavior.rb', line 3 def self.included(base) base.send(:include, Enumerable) end |
Instance Method Details
#visit(visitor) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/katuv/visitor_behavior.rb', line 7 def visit(visitor) visitor.before(self) if visitor.respond_to? :before if visitor.respond_to? method_name visitor.send(method_name.to_sym, self) else visitor.unknown(self) end each do |c| c.visit(visitor) end visitor.after(self) if visitor.respond_to? :after nil end |