module RouteTracker::RouteTrackeable::LocalInstanceMethods
Public Instance Methods
activate_route_binary(num)
click to toggle source
# File lib/route_tracker.rb, line 38 def activate_route_binary(num) return unless (Integer(num) rescue -1) >= 0 num = Integer(num) current_level = self[self.class.track_level] new_level = current_level | 2**num update_attribute(self.class.track_level, new_level) end
check_route_level(request)
click to toggle source
# File lib/route_tracker.rb, line 19 def check_route_level(request) binary_level = LEVEL_CONFIG[request.method][request.path] rescue nil return if binary_level.blank? binary_level = 2**binary_level #return if already visited return if self.route_visited?(request.path, request.method) current_level = self[self.class.track_level] return if current_level.nil? new_level = current_level | binary_level update_attribute(self.class.track_level, new_level) end
route_visited?(route, method = "GET" )
click to toggle source
# File lib/route_tracker.rb, line 30 def route_visited?(route, method = "GET" ) current_level = self[self.class.track_level] rescue 0 binary_level = LEVEL_CONFIG[method][route] rescue nil return false if binary_level.blank? #binary level is already activated return true if 2**binary_level & current_level > 0 return false end