Sha256: a97b435c0cbfd380f81c4a088e89e8d85dfba46a03563f6209d7377d46795b62

Contents?: true

Size: 1.35 KB

Versions: 10

Compression:

Stored size: 1.35 KB

Contents

module ActiveTracker
  class RequestsController < ActiveTracker::BaseController
    def index
      ts = Time.current.to_f
      @requests = ActiveTracker::Model.all("Request")
      filter_requests if params[:q].present?
      duration = (Time.current.to_f - ts) * 1000
      @requests, @pagination = ActiveTracker::Model.paginate(@requests, params[:page], ActiveTracker::Configuration.per_page)
      @duration = duration
    end

    def show
      @request = ActiveTracker::Model.find(params[:id])
      query_ids = JSON.parse(@request.tags[:at_queries]) rescue []
      @queries = query_ids.map {|id| ActiveTracker::Model.find(id) rescue nil}.compact
      exception_ids = JSON.parse(@request.tags[:at_exceptions]) rescue []
      @exceptions = exception_ids.map {|id| ActiveTracker::Model.find(id) rescue nil}.compact
    end

    private

    def filter_requests
      filters = params[:q].split(/\s+/)
      filtered = @requests.select do |request|
        acceptable = true
        filters.each do |filter|
          if filter[":"]
            key,value = filter.split(":")
            if request.tags[key.to_sym]&.downcase != value&.downcase
              acceptable = false
            end
          else
            acceptable = false unless request.tags[:url][filter]
          end
        end
        acceptable
      end
      @requests = filtered
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
activetracker-0.4.9 app/controllers/active_tracker/requests_controller.rb
activetracker-0.4.8 app/controllers/active_tracker/requests_controller.rb
activetracker-0.4.7 app/controllers/active_tracker/requests_controller.rb
activetracker-0.4.6 app/controllers/active_tracker/requests_controller.rb
activetracker-0.4.5 app/controllers/active_tracker/requests_controller.rb
activetracker-0.4.4 app/controllers/active_tracker/requests_controller.rb
activetracker-0.4.3 app/controllers/active_tracker/requests_controller.rb
activetracker-0.4.2 app/controllers/active_tracker/requests_controller.rb
activetracker-0.4.1 app/controllers/active_tracker/requests_controller.rb
activetracker-0.4.0 app/controllers/active_tracker/requests_controller.rb