Class: Kameleoon::Network::UrlProvider

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

Overview

UrlProvider is used as a source of URLs for network calls.

Constant Summary collapse

TRACKING_PATH =
'/visit/events'
VISITOR_DATA_PATH =
'/visit/visitor'
GET_DATA_PATH =
'/map/map'
POST_DATA_PATH =
'/map/maps'
CONFIGURATION_API_URL =
'https://client-config.kameleoon.com/mobile'
RT_CONFIGURATION_URL =
'https://events.kameleoon.com:8110/sse'
DEFAULT_DATA_API_URL =
'https://data.kameleoon.io'
TEST_DATA_API_URL =
'https://data.kameleoon.net'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(site_code, data_api_url) ⇒ UrlProvider

Returns a new instance of UrlProvider.



23
24
25
26
# File 'lib/kameleoon/network/url_provider.rb', line 23

def initialize(site_code, data_api_url)
  @site_code = site_code
  @data_api_url = data_api_url
end

Instance Attribute Details

#data_api_urlObject (readonly)

Returns the value of attribute data_api_url.



21
22
23
# File 'lib/kameleoon/network/url_provider.rb', line 21

def data_api_url
  @data_api_url
end

#site_codeObject (readonly)

Returns the value of attribute site_code.



21
22
23
# File 'lib/kameleoon/network/url_provider.rb', line 21

def site_code
  @site_code
end

Instance Method Details

#make_api_data_get_request_url(key) ⇒ Object



50
51
52
53
54
55
56
# File 'lib/kameleoon/network/url_provider.rb', line 50

def make_api_data_get_request_url(key)
  params = {
    siteCode: @site_code,
    key: key
  }
  "#{@data_api_url}#{GET_DATA_PATH}?#{UriHelper.encode_query(params)}"
end

#make_configuration_url(environment = nil, timestamp = nil) ⇒ Object



58
59
60
61
62
63
# File 'lib/kameleoon/network/url_provider.rb', line 58

def make_configuration_url(environment = nil, timestamp = nil)
  params = { siteCode: @site_code }
  params[:environment] = environment unless environment.nil?
  params[:ts] = timestamp unless timestamp.nil?
  "#{CONFIGURATION_API_URL}?#{UriHelper.encode_query(params)}"
end

#make_real_time_urlObject



65
66
67
68
# File 'lib/kameleoon/network/url_provider.rb', line 65

def make_real_time_url
  params = { siteCode: @site_code }
  "#{RT_CONFIGURATION_URL}?#{UriHelper.encode_query(params)}"
end

#make_tracking_url(visitor_code) ⇒ Object



28
29
30
31
32
33
34
35
36
# File 'lib/kameleoon/network/url_provider.rb', line 28

def make_tracking_url(visitor_code)
  params = {
    sdkName: SDK_NAME,
    sdkVersion: SDK_VERSION,
    siteCode: @site_code,
    visitorCode: visitor_code
  }
  "#{@data_api_url}#{TRACKING_PATH}?#{UriHelper.encode_query(params)}"
end

#make_visitor_data_get_url(visitor_code) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
# File 'lib/kameleoon/network/url_provider.rb', line 38

def make_visitor_data_get_url(visitor_code)
  params = {
    siteCode: @site_code,
    visitorCode: visitor_code,
    currentVisit: true,
    maxNumberPreviousVisits: 1,
    customData: true,
    version: 0
  }
  "#{@data_api_url}#{VISITOR_DATA_PATH}?#{UriHelper.encode_query(params)}"
end