Sha256: d921e883ff7539fd06b5e95127c90088b2d250bd21136966aa49715d7465c0ed

Contents?: true

Size: 843 Bytes

Versions: 233

Compression:

Stored size: 843 Bytes

Contents

module ScoutApm
  module ServerIntegrations
    class Rainbows
      attr_reader :logger

      def initialize(logger)
        @logger = logger
      end

      def name
        :rainbows
      end

      def forking?; true; end

      def present?
        if defined?(::Rainbows) && defined?(::Rainbows::HttpServer)
          ObjectSpace.each_object(::Rainbows::HttpServer) { |x| return true }
          false
        end
      end

      def install
        logger.info "Installing Rainbows worker loop."

        Rainbows::HttpServer.class_eval do
          old = instance_method(:worker_loop)
          define_method(:worker_loop) do |worker|
            ScoutApm::Agent.instance.start_background_worker
            old.bind(self).call(worker)
          end
        end
      end

      def found?
        true
      end
    end
  end
end

Version data entries

233 entries across 233 versions & 1 rubygems

Version Path
scout_apm-5.6.1 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.6.0 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.5.0 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.4.0 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.3.8 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.3.7 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.3.5 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.3.3 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.3.2 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.3.1 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.3.0 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.2.0 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.1.1 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.1.0 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-5.0.0 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-4.1.2 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-4.1.1 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-4.1.0 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-4.0.4 lib/scout_apm/server_integrations/rainbows.rb
scout_apm-4.0.3 lib/scout_apm/server_integrations/rainbows.rb