Class: Honeybadger::Backend::Base Private

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Logging::Helper
Defined in:
lib/honeybadger/backend/base.rb

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Direct Known Subclasses

Null, Server

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Base

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Base.



76
77
78
# File 'lib/honeybadger/backend/base.rb', line 76

def initialize(config)
  @config = config
end

Instance Method Details

#check_in(id) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Does a check in using the input id.

Parameters:

  • id (String)

    The unique check_in id.

Raises:

  • NotImplementedError



99
100
101
# File 'lib/honeybadger/backend/base.rb', line 99

def check_in(id)
  raise NotImplementedError, 'must define #check_in on subclass.'
end

#event(payload) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Send event

Examples:

backend.event([{event_type: "email_received", ts: "2023-03-04T12:12:00+1:00", subject: 'Re: Aquisition' }})

Parameters:

  • payload (Array)

    array of event hashes to send

Raises:

  • NotImplementedError



118
119
120
# File 'lib/honeybadger/backend/base.rb', line 118

def event(payload)
  raise NotImplementedError, "must define #event on subclass"
end

#notify(feature, payload) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Process payload for feature.

Examples:

backend.notify(:notices, Notice.new(...))

Parameters:

  • feature (Symbol)

    The feature name (corresponds to HTTP endpoint). Current options are: ‘:notices`, `:deploys`, `:ping`.

  • payload (#to_json)

    The JSON payload to send.

Raises:

  • NotImplementedError



90
91
92
# File 'lib/honeybadger/backend/base.rb', line 90

def notify(feature, payload)
  raise NotImplementedError, 'must define #notify on subclass.'
end

#track_deployment(payload) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Track a deployment

Examples:

backend.track_deployment({ revision: 'be2ceb6' })

Parameters:

  • payload (#to_json)

    The JSON payload containing all deployment data.



108
109
110
# File 'lib/honeybadger/backend/base.rb', line 108

def track_deployment(payload)
  notify(:deploys, payload)
end