Module: RouteGuard::RouteSetExtension

Defined in:
lib/route_guard/route_tracker.rb

Instance Method Summary collapse

Instance Method Details

#add_route(*args) ⇒ Object



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/route_guard/route_tracker.rb', line 71

def add_route(*args)
  route = super
  if RouteGuard::RouteTracker.enabled
    trace_info = RouteGuard::RouteTracker.find_routes_caller(caller_locations(1, 25))
    if trace_info
      if route.is_a?(Array)
        route.each do |r|
          RouteGuard::RouteTracker.track_route(r.object_id, trace_info)
          r.instance_variable_set(:@route_guard_trace, trace_info)
        end
      elsif route
        RouteGuard::RouteTracker.track_route(route.object_id, trace_info)
        route.instance_variable_set(:@route_guard_trace, trace_info)
      end
    end
  end
  route
end