Module: SessionVision

Defined in:
lib/sessionvision.rb,
lib/sessionvision/client.rb,
lib/sessionvision/config.rb,
lib/sessionvision/version.rb,
lib/sessionvision/transport.rb,
lib/sessionvision/event_buffer.rb

Overview

Session Vision server-side Ruby SDK.

Usage:

SessionVision.init("proj_xxx", ingest_host: "https://app.sessionvision.com")
SessionVision.capture("purchase", user_id: "user_123", properties: { amount: 99.99 })
SessionVision.shutdown

Defined Under Namespace

Classes: Client, Config, Error, EventBuffer, Transport

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.capture(event_name, user_id: nil, anonymous_id: nil, session_id: nil, properties: {}) ⇒ Object



32
33
34
35
# File 'lib/sessionvision.rb', line 32

def capture(event_name, user_id: nil, anonymous_id: nil, session_id: nil, properties: {})
  client.capture(event_name, user_id: user_id, anonymous_id: anonymous_id,
                             session_id: session_id, properties: properties)
end

.flushObject



49
50
51
# File 'lib/sessionvision.rb', line 49

def flush
  client.flush
end

.identify(user_id, **traits) ⇒ Object



37
38
39
# File 'lib/sessionvision.rb', line 37

def identify(user_id, **traits)
  client.identify(user_id, **traits)
end

.init(project_token, **options) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/sessionvision.rb', line 24

def init(project_token, **options)
  @mutex.synchronize do
    @client&.shutdown
    config = Config.new(project_token: project_token, **options)
    @client = Client.new(config)
  end
end

.register(**properties) ⇒ Object



41
42
43
# File 'lib/sessionvision.rb', line 41

def register(**properties)
  client.register(**properties)
end

.register_once(**properties) ⇒ Object



45
46
47
# File 'lib/sessionvision.rb', line 45

def register_once(**properties)
  client.register_once(**properties)
end

.resetObject



62
63
64
# File 'lib/sessionvision.rb', line 62

def reset
  client.reset
end

.shutdownObject



53
54
55
56
57
58
59
60
# File 'lib/sessionvision.rb', line 53

def shutdown
  @mutex.synchronize do
    return unless @client

    @client.shutdown
    @client = nil
  end
end