class Bugno::Reporter

Attributes

http[R]
request[RW]
uri[R]

Public Class Methods

new() click to toggle source
# File lib/bugno/reporter.rb, line 12
def initialize
  @uri = URI.parse("#{Bugno.configuration.api_url}/api/v1/projects/#{Bugno.configuration.api_key}/events")
  @http = Net::HTTP.new(uri.host, uri.port)
  @request = Net::HTTP::Post.new(uri.request_uri, 'Content-Type': 'application/json')
end

Public Instance Methods

api_response(response) click to toggle source
# File lib/bugno/reporter.rb, line 27
def api_response(response)
  body = JSON.parse(response.body.presence || '{}')
  message = body['message'] || body['error'] || response.message
  "#{message.capitalize} | Code: #{response.code}"
end
send() click to toggle source
# File lib/bugno/reporter.rb, line 18
def send
  http.use_ssl = true if uri.scheme == 'https'

  response = http.request(request)
  Bugno.log_info(api_response(response))
rescue StandardError => e
  Bugno.log_error(e.message)
end