Module: Vero::APIContext

Included in:
Context
Defined in:
lib/vero/context/api.rb

Instance Method Summary collapse

Instance Method Details

#identify!Object



10
11
12
13
14
# File 'lib/vero/context/api.rb', line 10

def identify!
  identity = subject.to_vero
  options = { id: identity[:id], email: identity[:email], data: identity }
  Vero::Api::Users.track!(options, self)
end

#reidentify!(previous_id) ⇒ Object



34
35
36
37
38
# File 'lib/vero/context/api.rb', line 34

def reidentify!(previous_id)
  identity = subject.to_vero
  options = { id: previous_id, new_id: identity[:id] }
  Vero::Api::Users.reidentify!(options, self)
end

#track!(event_name, event_data, extras = {}) ⇒ Object



5
6
7
8
# File 'lib/vero/context/api.rb', line 5

def track!(event_name, event_data, extras = {})
  options = { data: event_data, event_name: event_name, identity: subject.to_vero, extras: extras }
  Vero::Api::Events.track!(options, self)
end

#unsubscribe!Object



28
29
30
31
32
# File 'lib/vero/context/api.rb', line 28

def unsubscribe!
  identity = subject.to_vero
  options = { id: identity[:id], email: identity[:email] }
  Vero::Api::Users.unsubscribe!(options, self)
end

#update_user!Object



16
17
18
19
20
# File 'lib/vero/context/api.rb', line 16

def update_user!
  identity = subject.to_vero
  options = { id: identity[:id], email: identity[:email], changes: identity }
  Vero::Api::Users.edit_user!(options, self)
end

#update_user_tags!(add = [], remove = []) ⇒ Object



22
23
24
25
26
# File 'lib/vero/context/api.rb', line 22

def update_user_tags!(add = [], remove = [])
  identity = subject.to_vero
  options = { id: identity[:id], email: identity[:email], add: Array(add), remove: Array(remove) }
  Vero::Api::Users.edit_user_tags!(options, self)
end