Sha256: d2590692f773360d8668e9fd436ad9f837834ce1817c48218a40866a75a36f1b
Contents?: true
Size: 801 Bytes
Versions: 7
Compression:
Stored size: 801 Bytes
Contents
# frozen_string_literal: true module AnyCable module Rails module Middlewares # Executor runs Rails executor for each call # See https://guides.rubyonrails.org/v5.2.0/threading_and_code_execution.html#framework-behavior class Executor < AnyCable::Middleware attr_reader :executor def initialize(executor) @executor = executor end def call(method, message, metadata) if ::Rails.respond_to?(:error) executor.wrap do sid = metadata["sid"] ::Rails.error.record(context: {method: method, payload: message.to_h, sid: sid}) do yield end end else executor.wrap { yield } end end end end end end
Version data entries
7 entries across 7 versions & 2 rubygems