Sha256: c316c6fc5c453ef7ef64b3f301a1519625c61ef7a4731f90065422cdd39f6768

Contents?: true

Size: 859 Bytes

Versions: 3

Compression:

Stored size: 859 Bytes

Contents

# frozen_string_literal: true

module RailsMiniProfiler
  class ProfiledRequestSearch < BaseSearch
    option(:id) do |scope, value|
      scope.where(id: value)
    end

    option(:path) do |scope, value|
      scope.where('request_path LIKE ?', "%#{value}%")
    end

    option(:method) do |scope, value|
      scope.where(request_method: value)
    end

    option(:media_type) do |scope, value|
      scope.where(response_media_type: value)
    end

    option(:status) do |scope, value|
      value = value.map(&:to_i)
      min = value.min
      max = value.max + 100
      scope.where('response_status >= :lower', lower: min)
        .where('response_status < :upper', upper: max)
    end

    option(:duration) do |scope, value|
      value = value.tr('>', '').to_i * 100
      scope.where('duration > :duration', duration: value)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rails_mini_profiler-0.6.0 app/search/rails_mini_profiler/profiled_request_search.rb
rails_mini_profiler-0.5.0 app/search/rails_mini_profiler/profiled_request_search.rb
rails_mini_profiler-0 app/search/rails_mini_profiler/profiled_request_search.rb