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