module RGL::GraphVisitor::ClassMethods
Public Instance Methods
def_event_handlers(*events)
click to toggle source
Defines an event handler.
# File lib/rgl/graph_visitor.rb 101 def def_event_handlers(*events) 102 events.each do |event| 103 params = event.to_s.include?('edge') ? 'u, v' : 'u' 104 105 handler = "@#{event}_event_handler" 106 107 class_eval <<-END 108 def handle_#{event}(#{params}) 109 #{handler}.call(#{params}) if defined? #{handler} 110 end 111 112 def set_#{event}_event_handler(&block) 113 #{handler} = block 114 end 115 END 116 end 117 end
Also aliased as: def_event_handler