Class: Risenexa::Tracking::Client
- Inherits:
-
Object
- Object
- Risenexa::Tracking::Client
- Defined in:
- lib/risenexa/tracking/client.rb
Overview
Per-instance client for the Risenexa Tracking SDK.
Fully independent of the global configuration — each instance has its own api_key, startup_slug, and other options. Multiple instances can coexist without interference.
Instance Method Summary collapse
-
#initialize(api_key: nil, startup_slug: nil, base_url: "https://app.risenexa.com", timeout: 2000, max_retries: 3) ⇒ Client
constructor
A new instance of Client.
-
#track(event_type:, user_id:, **opts) ⇒ Result
Low-level track method accepting all HTTP contract fields.
-
#track_conversion(user_id:, **opts) ⇒ Result
Track a user conversion event (event_type: "user_converted", action: "add").
-
#track_registration(user_id:, **opts) ⇒ Result
Track a user registration event (event_type: "user_registered", action: "add").
Constructor Details
#initialize(api_key: nil, startup_slug: nil, base_url: "https://app.risenexa.com", timeout: 2000, max_retries: 3) ⇒ Client
Returns a new instance of Client.
23 24 25 26 27 28 29 30 |
# File 'lib/risenexa/tracking/client.rb', line 23 def initialize(api_key: nil, startup_slug: nil, base_url: "https://app.risenexa.com", timeout: 2000, max_retries: 3) @api_key = api_key @startup_slug = startup_slug @base_url = base_url @timeout = timeout @max_retries = max_retries end |
Instance Method Details
#track(event_type:, user_id:, **opts) ⇒ Result
Low-level track method accepting all HTTP contract fields.
59 60 61 62 63 64 |
# File 'lib/risenexa/tracking/client.rb', line 59 def track(event_type:, user_id:, **opts) validate_configuration! payload = build_payload(event_type: event_type, user_id: user_id, **opts) http_client.post(payload) end |
#track_conversion(user_id:, **opts) ⇒ Result
Track a user conversion event (event_type: "user_converted", action: "add").
48 49 50 |
# File 'lib/risenexa/tracking/client.rb', line 48 def track_conversion(user_id:, **opts) track(event_type: "user_converted", user_id: user_id, action: "add", **opts) end |
#track_registration(user_id:, **opts) ⇒ Result
Track a user registration event (event_type: "user_registered", action: "add").
38 39 40 |
# File 'lib/risenexa/tracking/client.rb', line 38 def track_registration(user_id:, **opts) track(event_type: "user_registered", user_id: user_id, action: "add", **opts) end |