November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Chcemy wykorzystywać jednocześnie dwa narzędzia analityczne, na przykład moduł profilowania (profiler) i moduł śledzenia (tracer). Jednak kiedy jedno z narzędzi wywoła metodę set_trace_func, nadpisuje metodę trace ustawioną przez drugie z narzędzi.
Można zmodyfikować metodę set_trace_func w taki sposób, by była w niej zapisana tablica funkcji śledzących zamiast jednej funkcji. Oto biblioteka multitrace.rb, która umożliwia wykonanie takiej operacji:
# multitrace.rb $TRACE_FUNCS = [] alias :set_single_trace_func :set_trace_func def set_trace_func(proc) if (proc == nil) $TRACE_FUNCS.clear else $TRACE_FUNCS << proc end end trace_all = Proc.new do |event, ...
Read now
Unlock full access