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 102 def def_event_handlers(*events) 103 events.each do |event| 104 params = event.to_s.include?('edge') ? 'u, v' : 'u' 105 106 handler = "@#{event}_event_handler" 107 108 class_eval <<-END 109 def handle_#{event}(#{params}) 110 #{handler}.call(#{params}) if defined? #{handler} 111 end 112 113 def set_#{event}_event_handler(&block) 114 #{handler} = block 115 end 116 END 117 end 118 end
Also aliased as: def_event_handler