Class: Hackle::HackleUserResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/hackle/internal/user/hackle_user_resolver.rb

Instance Method Summary collapse

Instance Method Details

#resolve_or_nil(user) ⇒ HackleUser

Parameters:

Returns:



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/hackle/internal/user/hackle_user_resolver.rb', line 10

def resolve_or_nil(user)
  return nil if user.nil?
  return nil unless user.is_a?(User)

  builder = HackleUser.builder
  builder.identifiers(user.identifiers)
  builder.identifier('$id', user.id) unless user.id.nil?
  builder.identifier('$deviceId', user.device_id) unless user.device_id.nil?
  builder.identifier('$userId', user.user_id) unless user.user_id.nil?
  builder.properties(user.properties)
  hackle_user = builder.build

  return nil if hackle_user.identifiers.empty?

  hackle_user
end