Class: Raygun::Client

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/raygun/client.rb

Overview

client for the Raygun REST APIv1 as per raygun.io/raygun-providers/rest-json-api?v=1

Constant Summary collapse

ENV_IP_ADDRESS_KEYS =
%w(action_dispatch.remote_ip raygun.remote_ip REMOTE_ADDR)
NO_API_KEY_MESSAGE =
"[RAYGUN] Just a note, you've got no API Key configured, which means we can't report exceptions. Specify your Raygun API key using Raygun#setup (find yours at https://app.raygun.io)"

Instance Method Summary collapse

Constructor Details

#initializeClient

Returns a new instance of Client.



11
12
13
14
15
16
17
18
19
20
# File 'lib/raygun/client.rb', line 11

def initialize
  @api_key = require_api_key
  @headers = {
    "X-ApiKey" => @api_key
  }

  enable_http_proxy if Raygun.configuration.proxy_settings[:address]
  self.class.base_uri Raygun.configuration.api_url
  self.class.default_timeout(Raygun.configuration.error_report_send_timeout)
end

Instance Method Details

#require_api_keyObject



22
23
24
# File 'lib/raygun/client.rb', line 22

def require_api_key
  Raygun.configuration.api_key || print_api_key_warning
end

#track_exception(exception_instance, env = {}, user = nil) ⇒ Object



26
27
28
# File 'lib/raygun/client.rb', line 26

def track_exception(exception_instance, env = {}, user = nil)
  create_entry(build_payload_hash(exception_instance, env, user))
end