Sha256: e4fedacd2699a51699859c8b53d0ded2c2071e0aee33c1d32d58b2d8f09059e5

Contents?: true

Size: 824 Bytes

Versions: 3

Compression:

Stored size: 824 Bytes

Contents

module SweetStaging
  module Rails
    class Middleware
      def initialize(app)
        @app = app
      end

      def call(env)
        dup.call!(env)
      end

      def call!(env)
        if env['PATH_INFO'] =~ /sweet\/staging/
          #in_silence { @status, @headers, @response = @app.call(env) }
          ::Rails.logger.silence do
            @status, @headers, @response = @app.call(env)
          end
        else
          @status, @headers, @response = @app.call(env)
        end

        [@status, @headers, @response]
      end

      def in_silence
        old_level = ::Rails.logger.level.dup
        begin
          ::Rails.logger.level = Logger::ERROR
          yield
        ensure
          ::Rails.logger.level = old_level
        end
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sweet_staging-0.1.2 lib/sweet_staging/rails/middleware.rb
sweet_staging-0.1.1 lib/sweet_staging/rails/middleware.rb
sweet_staging-0.1.0 lib/sweet_staging/rails/middleware.rb