Class: Kameleoon::Network::Cookie::CookieManager

Inherits:
Object
  • Object
show all
Defined in:
lib/kameleoon/network/cookie/cookie_manager.rb

Instance Method Summary collapse

Constructor Details

#initialize(data_manager, visitor_manager, top_level_domain) ⇒ CookieManager

Returns a new instance of CookieManager.



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/kameleoon/network/cookie/cookie_manager.rb', line 17

def initialize(data_manager, visitor_manager, top_level_domain)
  Logging::KameleoonLogger.debug(
    "CALL: CookieManager.new(data_manager, visitor_manager, top_level_domain: '%s')", top_level_domain
  )
  @data_manager = data_manager
  @visitor_manager = visitor_manager
  @top_level_domain = top_level_domain
  Logging::KameleoonLogger.debug(
    "RETURN: CookieManager.new(data_manager, visitor_manager, top_level_domain: '%s')", top_level_domain
  )
end

Instance Method Details

#get_or_add(cookies, default_visitor_code = nil) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/kameleoon/network/cookie/cookie_manager.rb', line 29

def get_or_add(cookies, default_visitor_code = nil)
  return if cookies.nil?

  Logging::KameleoonLogger.debug(
    "CALL: CookieManager.get_or_add(cookies: %s, default_visitor_code: '%s')",
    cookies, default_visitor_code
  )
  visitor_code = get_or_add_visitor_code(cookies, default_visitor_code)
  process_simulated_variations(cookies, visitor_code)
  Logging::KameleoonLogger.debug(
    "RETURN: CookieManager.get_or_add(cookies: %s, default_visitor_code: '%s') -> (visitor_code: '%s')",
    cookies, default_visitor_code, visitor_code
  )
  visitor_code
end

#update(visitor_code, consent, cookies) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/kameleoon/network/cookie/cookie_manager.rb', line 45

def update(visitor_code, consent, cookies)
  return if cookies.nil?

  Logging::KameleoonLogger.debug("CALL: CookieManager.update(visitor_code: '%s', consent: %s, cookies: %s)",
                                 visitor_code, consent, cookies)

  if consent
    add(visitor_code, cookies)
  else
    remove(cookies)
  end
  Logging::KameleoonLogger.debug("RETURN: CookieManager.update(visitor_code: '%s', consent: %s, cookies: %s)",
                                 visitor_code, consent, cookies)
end