Sha256: a5027d324b4e0121ee7d621a8cded0426be04960baa2ed56258f750f27fd9d93

Contents?: true

Size: 1004 Bytes

Versions: 52

Compression:

Stored size: 1004 Bytes

Contents

# frozen_string_literal: true

module Appsignal
  module Loaders
    class HanamiLoader < Loader
      register :hanami

      def on_load
        hanami_app_config = ::Hanami.app.config
        register_config_defaults(
          :root_path => hanami_app_config.root.to_s,
          :env => hanami_app_config.env
        )
      end

      def on_start
        require "appsignal/rack/hanami_middleware"

        hanami_app_config = ::Hanami.app.config
        hanami_app_config.middleware.use(
          ::Rack::Events,
          [Appsignal::Rack::EventHandler.new]
        )
        hanami_app_config.middleware.use(Appsignal::Rack::HanamiMiddleware)

        ::Hanami::Action.prepend Appsignal::Loaders::HanamiLoader::HanamiIntegration
      end

      module HanamiIntegration
        def call(env)
          super
        ensure
          transaction = env[::Appsignal::Rack::APPSIGNAL_TRANSACTION]

          transaction&.set_action_if_nil(self.class.name)
        end
      end
    end
  end
end

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
appsignal-4.1.3-java lib/appsignal/loaders/hanami.rb
appsignal-4.1.3 lib/appsignal/loaders/hanami.rb
appsignal-4.1.2-java lib/appsignal/loaders/hanami.rb
appsignal-4.1.2 lib/appsignal/loaders/hanami.rb
appsignal-4.1.1-java lib/appsignal/loaders/hanami.rb
appsignal-4.1.1 lib/appsignal/loaders/hanami.rb
appsignal-4.1.0-java lib/appsignal/loaders/hanami.rb
appsignal-4.1.0 lib/appsignal/loaders/hanami.rb
appsignal-4.0.9-java lib/appsignal/loaders/hanami.rb
appsignal-4.0.9 lib/appsignal/loaders/hanami.rb
appsignal-4.0.8-java lib/appsignal/loaders/hanami.rb
appsignal-4.0.8 lib/appsignal/loaders/hanami.rb
appsignal-4.0.7-java lib/appsignal/loaders/hanami.rb
appsignal-4.0.7 lib/appsignal/loaders/hanami.rb
appsignal-4.0.6-java lib/appsignal/loaders/hanami.rb
appsignal-4.0.6 lib/appsignal/loaders/hanami.rb
appsignal-4.0.5-java lib/appsignal/loaders/hanami.rb
appsignal-4.0.5 lib/appsignal/loaders/hanami.rb
appsignal-4.0.4-java lib/appsignal/loaders/hanami.rb
appsignal-4.0.4 lib/appsignal/loaders/hanami.rb