Sha256: ce675cc208591217968af7a932b45f1b7c0b7be11f8668c48a344eaf220bb6a5

Contents?: true

Size: 645 Bytes

Versions: 2

Compression:

Stored size: 645 Bytes

Contents

require_relative "logging"

module StoredSession
  class Store < ActionDispatch::Session::AbstractSecureStore
    module Instrumentation
      extend ActiveSupport::Concern

      include StoredSession::Store::Logging

      private
        def instrument(operation, sid, **options, &blk)
          silence do
            payload = { sid: sid&.private_id, **options }
            ActiveSupport::Notifications.instrument("session_#{operation}.stored_session", payload) do
              blk&.call(payload)
            end
          end
        end

      ActiveSupport.run_load_hooks(:stored_session_store_instrumentation, self)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
stored_session-0.4.0 lib/stored_session/store/instrumentation.rb
stored_session-0.3.0 lib/stored_session/store/instrumentation.rb