Sha256: 36b8b7a892c39897f27b6244c8e30fa53e01a7da280fec42361288caae94b818

Contents?: true

Size: 706 Bytes

Versions: 19

Compression:

Stored size: 706 Bytes

Contents

module Rake
  class Task
    alias_method :invoke_without_appsignal, :invoke

    def invoke(*args)
      if Appsignal.active?
        invoke_with_appsignal(*args)
      else
        invoke_without_appsignal(*args)
      end
    end

    def invoke_with_appsignal(*args)
      invoke_without_appsignal(*args)
    rescue => error
      transaction = Appsignal::Transaction.create(
        SecureRandom.uuid,
        Appsignal::Transaction::BACKGROUND_JOB,
        Appsignal::Transaction::GenericRequest.new(
          :params => args
        )
      )
      transaction.set_action(name)
      transaction.set_error(error)
      transaction.complete!
      Appsignal.stop
      raise error
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
appsignal-0.12.rc.7 lib/appsignal/integrations/rake.rb
appsignal-0.12.rc.6 lib/appsignal/integrations/rake.rb
appsignal-0.12.rc.5 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.54 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.53 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.52 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.51 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.50 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.49 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.48 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.47 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.46 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.45 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.44 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.43 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.42 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.41 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.40 lib/appsignal/integrations/rake.rb
appsignal-0.12.beta.39 lib/appsignal/integrations/rake.rb