Sha256: fc2603bb1a598710eccbbc71f4c2a9e7aaff5d93e97d4e7e94fb80d4791a203c

Contents?: true

Size: 1.48 KB

Versions: 1

Compression:

Stored size: 1.48 KB

Contents

# frozen_string_literal: true

# == Schema Information
#
# Table name: rmp_traces
#
#  id                      :integer          not null, primary key
#  rmp_profiled_request_id :bigint           not null
#  name                    :string
#  start                   :integer
#  finish                  :integer
#  duration                :integer
#  allocations             :integer
#  payload                 :json
#  backtrace               :json
#  created_at              :datetime         not null
#  updated_at              :datetime         not null
#
module RailsMiniProfiler
  class Trace < RailsMiniProfiler::ApplicationRecord
    self.table_name = RailsMiniProfiler.storage_configuration.traces_table
    self.inheritance_column = :name

    belongs_to :profiled_request,
               class_name: 'RailsMiniProfiler::ProfiledRequest',
               foreign_key: :rmp_profiled_request_id

    class << self
      def find_sti_class(name)
        subclasses = {
          'process_action.action_controller' => RailsMiniProfiler::ControllerTrace,
          'sql.active_record' => RailsMiniProfiler::SequelTrace,
          'instantiation.active_record' => RailsMiniProfiler::InstantiationTrace,
          'rails_mini_profiler.total_time' => RailsMiniProfiler::RmpTrace,
          'render_template.action_view' => RailsMiniProfiler::RenderTemplateTrace,
          'render_partial.action_view' => RailsMiniProfiler::RenderPartialTrace
        }
        subclasses[name] || self
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rails_mini_profiler-0.1.0 app/models/rails_mini_profiler/trace.rb