module Diffend::HandleErrors::Report
Module responsible for reporting errors to diffend
Public Class Methods
build_request_object(config, payload)
click to toggle source
@param config [Diffend::Config] @param payload [Hash]
@return [Diffend::RequestObject]
# File lib/diffend/handle_errors/report.rb, line 40 def build_request_object(config, payload) Diffend::RequestObject.new( config, config.errors_url, payload, :post ) end
call(config:, message:, exception: nil, payload: {}, report: false, raise_exception: true)
click to toggle source
@param config [Diffend::Config] @param message [Symbol] message that we want to display @param exception [Exception] expection that was raised @param payload [Hash] with versions to check @param report [Boolean] if true we will report the issue to diffend @param raise_exception [Boolean] if true we will raise an exception
@return [Net::HTTPResponse] response from Diffend
# File lib/diffend/handle_errors/report.rb, line 18 def call(config:, message:, exception: nil, payload: {}, report: false, raise_exception: true) exception_payload = prepare_exception_payload(exception, payload) Diffend::HandleErrors::Messages::PAYLOAD_DUMP .tap(&config.logger.method(:error)) Diffend::HandleErrors::Messages .const_get(message.to_s.upcase) .tap(&config.logger.method(:error)) if report Diffend::Request.call( build_request_object(config, exception_payload) ) end raise Diffend::Errors::HandledException if raise_exception end
prepare_exception_payload(exception, payload)
click to toggle source
Prepare exception payload and display it to stdout
@param exception [Exception] expection that was raised @param payload [Hash] with versions to check
@return [Hash]
# File lib/diffend/handle_errors/report.rb, line 55 def prepare_exception_payload(exception, payload) Diffend::HandleErrors::BuildExceptionPayload .call(exception, payload) .tap(&Diffend::HandleErrors::DisplayToStdout.method(:call)) end