Sha256: cc87d500a0505d8d93806743d0e98083bd71dbbd8a98ab89d492b45521121030

Contents?: true

Size: 1.87 KB

Versions: 5

Compression:

Stored size: 1.87 KB

Contents

require 'rollbar'

namespace :rollbar do
  desc "Verify your gem installation by sending a test exception to Rollbar"
  task :test => [:environment] do
    Rails.logger = defined?(ActiveSupport::TaggedLogging) ?
      ActiveSupport::TaggedLogging.new(Logger.new(STDOUT)) :
      Logger.new(STDOUT)

    Rails.logger.level = Logger::DEBUG
    Rollbar.configure do |config|
      config.logger = Rails.logger
    end

    class RollbarTestingException < RuntimeError; end

    unless Rollbar.configuration.access_token
      puts "Rollbar needs an access token configured. Check the README for instructions."
      exit
    end

    begin
      require './app/controllers/application_controller'
    rescue LoadError
    end

    unless defined?(ApplicationController)
      puts "No ApplicationController found, using ActionController::Base instead"
      class ApplicationController < ActionController::Base; end
    end

    puts "Setting up the controller."
    class ApplicationController
      prepend_before_filter :test_rollbar
      def test_rollbar
        puts "Raising RollbarTestingException to simulate app failure."
        raise RollbarTestingException.new, 'Testing rollbar with "rake rollbar:test". If you can see this, it works.'
      end

      def verify
      end

      def logger
        nil
      end
    end

    class RollbarTestController < ApplicationController; end

    Rails.application.routes_reloader.execute_if_updated
    Rails.application.routes.draw do
      get 'verify' => 'application#verify', :as => 'verify'
    end

    puts "Processing..."
    env = Rack::MockRequest.env_for("/verify")
    status, headers, response = Rails.application.call(env)
    
    unless status == 500
      puts "Test failed! You may have a configuration issue, or you could be using a gem that's blocking the test. Contact support@rollbar.com if you need help troubleshooting."
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rollbar-0.11.1 lib/rollbar/rake_tasks.rb
rollbar-0.10.14 lib/rollbar/rake_tasks.rb
rollbar-0.10.12 lib/rollbar/rake_tasks.rb
rollbar-0.10.11 lib/rollbar/rake_tasks.rb
rollbar-0.10.10 lib/rollbar/rake_tasks.rb