class ActiveRecord::ExplainSubscriber

Experimental RBS support (using type sampling data from the type_fusion project).

# sig/active_record/explain_subscriber.rbs

class ActiveRecord::ExplainSubscriber
  def finish: (String name, String id, Hash payload) -> nil
  def start: (String name, String id, Hash payload) -> untyped
end

:nodoc:

def finish(name, id, payload)

Experimental RBS support (using type sampling data from the type_fusion project).

def finish: (String name, String id, (sql | String | name | String | binds | ActiveRecord::Relation::QueryAttribute | ActiveRecord::Relation::QueryAttribute | type_casted_binds | String | Integer | statement_name | NilClass | async | FalseClass | connection | ActiveRecord::ConnectionAdapters::PostgreSQLAdapter | sql | String | name | String | binds | ActiveRecord::Relation::QueryAttribute | ActiveRecord::Relation::QueryAttribute | type_casted_binds | TrueClass | Integer | statement_name | String | async | FalseClass | connection | ActiveRecord::ConnectionAdapters::PostgreSQLAdapter) payload) -> nil

This signature was generated using 2 samples from 1 application.

def finish(name, id, payload)
  if ExplainRegistry.collect? && !ignore_payload?(payload)
    ExplainRegistry.queries << payload.values_at(:sql, :binds)
  end
end

def ignore_payload?(payload)

def ignore_payload?(payload)
  payload[:exception] ||
    payload[:cached] ||
    IGNORED_PAYLOADS.include?(payload[:name]) ||
    !payload[:sql].match?(EXPLAINED_SQLS)
end

def start(name, id, payload)

Experimental RBS support (using type sampling data from the type_fusion project).

def start: (String name, String id, sql | String | name | String | binds | ActiveRecord::Relation::QueryAttribute | ActiveRecord::Relation::QueryAttribute | type_casted_binds | String | Integer | statement_name | NilClass | async | FalseClass | connection | ActiveRecord::ConnectionAdapters::PostgreSQLAdapter payload) -> untyped

This signature was generated using 1 sample from 1 application.

:nodoc:
def start(name, id, payload)
  # unused
end