station 0.0.134 → 0.0.138
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.env.example +3 -0
- data/.gitignore +3 -1
- data/lib/nexmo_developer/.rspec +1 -0
- data/lib/nexmo_developer/app/assets/config/manifest.js +2 -1
- data/lib/nexmo_developer/app/assets/javascripts/digitalData.js +142 -0
- data/lib/nexmo_developer/app/controllers/application_controller.rb +15 -0
- data/lib/nexmo_developer/app/views/layouts/partials/_head.html.erb +3 -3
- data/lib/nexmo_developer/app/views/layouts/partials/_header.html.erb +4 -0
- data/lib/nexmo_developer/lib/tasks/ci.rake +14 -0
- data/lib/nexmo_developer/public/assets/.sprockets-manifest-4e6d2b8abc718dafd9c3cc32787eea3b.json +1 -0
- data/lib/nexmo_developer/public/assets/application-6e9186f7602070c57b5c60de9b45ad12f1fccdcf83e08ea28c809d7a5a42a232.css.gz +0 -0
- data/lib/nexmo_developer/public/assets/application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js.gz +0 -0
- data/lib/nexmo_developer/public/assets/digitalData-cc7ee32b7180e36d640fbee63fbcecb8a0f42cd67aaccc3d0883bda4ed384932.js +142 -0
- data/lib/nexmo_developer/public/assets/digitalData-cc7ee32b7180e36d640fbee63fbcecb8a0f42cd67aaccc3d0883bda4ed384932.js.gz +0 -0
- data/lib/nexmo_developer/public/assets/manifest-dad05bf766af0fe3d79dd746db3c1361c0583026cdf35d6a2921bccaea835331.js +3 -0
- data/lib/nexmo_developer/public/assets/manifest-dad05bf766af0fe3d79dd746db3c1361c0583026cdf35d6a2921bccaea835331.js.gz +0 -0
- data/lib/nexmo_developer/version.rb +1 -1
- metadata +8 -5
- data/lib/nexmo_developer/public/assets/.sprockets-manifest-35ccff49dde5df6fe219d1347909aa99.json +0 -1
- data/lib/nexmo_developer/public/assets/manifest-a72913f4c604bc8f97dd576fc8777bf029401f6af0e14b6a6c9d3874acfe73e4.js +0 -1
- data/lib/nexmo_developer/public/assets/manifest-a72913f4c604bc8f97dd576fc8777bf029401f6af0e14b6a6c9d3874acfe73e4.js.gz +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e634b85e42ad8a0d4f48cf9730b92356b432dd518a3101eed04cb66c3e0a9d48
|
4
|
+
data.tar.gz: f8b6cb685d83c8497384be4336fb09dcb7e8b1e089d7d40621284d7f8d08c60b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b8ea16dc943e37aa900ef0268bde1b8ec33a753de52074a5d6af6fcf205ef93129533f9508d5f1165cc053a6ddda413153872d2dd5f6999c4122652d9c10d40c
|
7
|
+
data.tar.gz: e2d47615313f0342126d25dac0dcb6fe5c7df22b3c6de3a5fe2ef7d3460fed2715f8b077ec9db8391b123504442c4dbcc4093b701be86701c2334de26a79618a
|
data/.env.example
CHANGED
data/.gitignore
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
lib/nexmo_developer/.env
|
20
20
|
lib/nexmo_developer/node_modules
|
21
21
|
lib/nexmo_developer/public/packs
|
22
|
-
lib/nexmo_developer/public/packs-test
|
22
|
+
lib/nexmo_developer/public/packs-test
|
23
23
|
ib/nexmo_developer/config/algolia.yml
|
24
24
|
lib/nexmo_developer/tmp/*
|
25
25
|
lib/nexmo_developer/tmp
|
@@ -39,3 +39,5 @@ lib/nexmo_developer/public/assets
|
|
39
39
|
.vscode/*
|
40
40
|
coverage
|
41
41
|
.DS_Store
|
42
|
+
|
43
|
+
node_modules
|
data/lib/nexmo_developer/.rspec
CHANGED
@@ -0,0 +1,142 @@
|
|
1
|
+
const PRIMARY_CATEGORY = document.getElementById('adobe_launch_primary_category').value
|
2
|
+
|
3
|
+
window.digitalData = {
|
4
|
+
page: {
|
5
|
+
pageInfo: {
|
6
|
+
pageName: '',
|
7
|
+
functionDept: '',
|
8
|
+
primaryCategory: PRIMARY_CATEGORY,
|
9
|
+
siteIdentifier: '',
|
10
|
+
lob: '',
|
11
|
+
subCategory1: '',
|
12
|
+
subCategory2: '',
|
13
|
+
subCategory3: '',
|
14
|
+
appVersion: '',
|
15
|
+
language: '',
|
16
|
+
country: '',
|
17
|
+
pageCategory: '',
|
18
|
+
flowName: '',
|
19
|
+
tokenFLag: '',
|
20
|
+
spaFlag: ''
|
21
|
+
},
|
22
|
+
content: {
|
23
|
+
author: '',
|
24
|
+
businessSize: '',
|
25
|
+
category: '',
|
26
|
+
company: '',
|
27
|
+
industry: '',
|
28
|
+
name: '',
|
29
|
+
product: '',
|
30
|
+
profRole: '',
|
31
|
+
publishDate: '',
|
32
|
+
subCategory: '',
|
33
|
+
topic: '',
|
34
|
+
type: ''
|
35
|
+
}
|
36
|
+
},
|
37
|
+
eventData: {
|
38
|
+
events: '',
|
39
|
+
fCTA: '',
|
40
|
+
fIndustry: '',
|
41
|
+
fLines: '',
|
42
|
+
fName: '',
|
43
|
+
interactionType: '',
|
44
|
+
linesSlider: ''
|
45
|
+
},
|
46
|
+
user: {
|
47
|
+
profile: {
|
48
|
+
profileInfo: {
|
49
|
+
visitorType: '',
|
50
|
+
accountNumber: '',
|
51
|
+
accountStatus: '',
|
52
|
+
userType: '',
|
53
|
+
userName: '',
|
54
|
+
accountPlan: '',
|
55
|
+
UserID: '',
|
56
|
+
responsiveSiteVersion: '',
|
57
|
+
country: '',
|
58
|
+
acctnumLocations: '',
|
59
|
+
acctcontractFlag: ''
|
60
|
+
}
|
61
|
+
}
|
62
|
+
},
|
63
|
+
transaction: [
|
64
|
+
{
|
65
|
+
productInfo: {
|
66
|
+
productID: ''
|
67
|
+
},
|
68
|
+
quantity: '',
|
69
|
+
price: {
|
70
|
+
basePrice: ''
|
71
|
+
}
|
72
|
+
}
|
73
|
+
]
|
74
|
+
}
|
75
|
+
|
76
|
+
|
77
|
+
// Updates data layer variables on every page load.
|
78
|
+
document.addEventListener('DOMContentLoaded', function() {
|
79
|
+
const urlPath = window.location.pathname
|
80
|
+
const pageName = getPageName(urlPath)
|
81
|
+
const { digitalData } = window
|
82
|
+
const categorySplit = PRIMARY_CATEGORY.split(':')
|
83
|
+
digitalData.page.pageInfo.functionDept = categorySplit.slice(0, categorySplit.length - 1).join(':')
|
84
|
+
digitalData.page.pageInfo.siteIdentifier = categorySplit.slice(1, categorySplit.length).join(':')
|
85
|
+
digitalData.page.pageInfo.lob = categorySplit[0]
|
86
|
+
digitalData.page.pageInfo.pageName = pageName
|
87
|
+
|
88
|
+
const subCatArray = updateSubCategories(pageName, digitalData)
|
89
|
+
digitalData.page.pageInfo.subCategory1 = subCatArray[0]
|
90
|
+
digitalData.page.pageInfo.subCategory2 = subCatArray[1]
|
91
|
+
digitalData.page.pageInfo.subCategory3 = subCatArray[2]
|
92
|
+
})
|
93
|
+
|
94
|
+
// Click event for Sign-in button
|
95
|
+
// Changes visitorType value when clicked.
|
96
|
+
document.getElementById('signin').addEventListener('click', function() {
|
97
|
+
updateVisitorType()
|
98
|
+
})
|
99
|
+
|
100
|
+
// Changes visitoryType to 'customer' if sign-in
|
101
|
+
// button is clicked.
|
102
|
+
// Default is null
|
103
|
+
function updateVisitorType() {
|
104
|
+
const { digitalData } = window
|
105
|
+
digitalData.user.profile.profileInfo.visitorType = 'customer'
|
106
|
+
}
|
107
|
+
|
108
|
+
function getPageName(urlPath) {
|
109
|
+
let pageName = ''
|
110
|
+
switch (urlPath) {
|
111
|
+
case '/' :
|
112
|
+
pageName = PRIMARY_CATEGORY + ':homepage'
|
113
|
+
break
|
114
|
+
default:
|
115
|
+
pageName = PRIMARY_CATEGORY + urlPath.replaceAll('/', ':')
|
116
|
+
}
|
117
|
+
return pageName
|
118
|
+
}
|
119
|
+
|
120
|
+
function updateSubCategories(pageName, digitalData) {
|
121
|
+
let subCategory1 = ''
|
122
|
+
let subCategory2 = ''
|
123
|
+
let subCategory3 = ''
|
124
|
+
const primaryCategoryArray = PRIMARY_CATEGORY.split(':')
|
125
|
+
const pageNameArray = pageName.split(':')
|
126
|
+
const categoryArray = []
|
127
|
+
const categoryResult = pageNameArray.filter(x => !primaryCategoryArray.includes(x))
|
128
|
+
subCategory1 = PRIMARY_CATEGORY + ':' + categoryResult[0]
|
129
|
+
subCategory2 = PRIMARY_CATEGORY + ':' + categoryResult[0]
|
130
|
+
subCategory3 = PRIMARY_CATEGORY + ':' + categoryResult[0]
|
131
|
+
if (categoryResult[1] != undefined) {
|
132
|
+
subCategory2 = subCategory2 + ':' + categoryResult[1]
|
133
|
+
subCategory3 = subCategory2
|
134
|
+
}
|
135
|
+
if (categoryResult[2] != undefined) {
|
136
|
+
subCategory3 = subCategory3 + ':' + categoryResult[2]
|
137
|
+
}
|
138
|
+
categoryArray.push(subCategory1)
|
139
|
+
categoryArray.push(subCategory2)
|
140
|
+
categoryArray.push(subCategory3)
|
141
|
+
return categoryArray
|
142
|
+
}
|
@@ -1,6 +1,8 @@
|
|
1
1
|
class ApplicationController < ActionController::Base
|
2
2
|
include ApplicationHelper
|
3
3
|
|
4
|
+
before_action :redirect_vonage_domain
|
5
|
+
|
4
6
|
helper_method :page_title
|
5
7
|
|
6
8
|
rescue_from Errno::ENOENT, with: :not_found
|
@@ -32,6 +34,19 @@ class ApplicationController < ActionController::Base
|
|
32
34
|
redirect_to root_path unless current_user.admin?
|
33
35
|
end
|
34
36
|
|
37
|
+
def redirect_vonage_domain
|
38
|
+
case request.host
|
39
|
+
when 'developer.nexmo.com'
|
40
|
+
redirect_to("https://developer.vonage.com#{request.fullpath}", status: :moved_permanently) and return
|
41
|
+
when 'developer.nexmocn.com'
|
42
|
+
if request.fullpath.include?('?')
|
43
|
+
redirect_to("https://developer.vonage.com#{request.fullpath}&locale=cn", status: :moved_permanently) and return
|
44
|
+
end
|
45
|
+
|
46
|
+
redirect_to("https://developer.vonage.com#{request.fullpath}?locale=cn", status: :moved_permanently) and return
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
35
50
|
private
|
36
51
|
|
37
52
|
def requires_authentication?
|
@@ -3,7 +3,9 @@
|
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8" />
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
6
|
-
|
6
|
+
<% if ENV['ADOBE_LAUNCH_URL'] %>
|
7
|
+
<script src='<%= ENV['ADOBE_LAUNCH_URL'] %>' async></script>
|
8
|
+
<% end %>
|
7
9
|
<% if head.google_site_verification %>
|
8
10
|
<meta name="google-site-verification" content=<%= head.google_site_verification %> />
|
9
11
|
<% end %>
|
@@ -129,6 +131,4 @@
|
|
129
131
|
<meta name="copyright" content="<%= Time.current.year %> <%= head.application_name %>" />
|
130
132
|
|
131
133
|
<%= csrf_meta_tags %>
|
132
|
-
|
133
|
-
|
134
134
|
</head>
|
@@ -3,6 +3,7 @@
|
|
3
3
|
|
4
4
|
<div class="Adp-header">
|
5
5
|
<header id="header" class="Adp-header__main Vlt-M-plus">
|
6
|
+
<input type="hidden" id="adobe_launch_primary_category" value="<%=ENV['ADOBE_LAUNCH_PRIMARY_CATEGORY']%>">
|
6
7
|
<a tabindex="0" id="skip-to-navigation" href="#sidenav-first" class="Vlt-btn Vlt-btn--outline Vlt-btn--primary Vlt-btn--app">Skip to navigation</a>
|
7
8
|
<a tabindex="0" id="skip-to-content" href="#primary-content" class="Vlt-btn Vlt-btn--outline Vlt-btn--primary Vlt-btn--app">Skip to content</a>
|
8
9
|
|
@@ -120,4 +121,7 @@
|
|
120
121
|
<% end %>
|
121
122
|
<% end %>
|
122
123
|
</section>
|
124
|
+
<% if ENV['ADOBE_LAUNCH_URL'] && ENV['ADOBE_LAUNCH_PRIMARY_CATEGORY'] %>
|
125
|
+
<%= javascript_include_tag 'digitalData'%>
|
126
|
+
<% end %>
|
123
127
|
</div>
|
@@ -3,6 +3,7 @@ require_relative '../common_errors'
|
|
3
3
|
namespace :ci do
|
4
4
|
desc 'Verify all pages to make sure that no exceptions are thrown'
|
5
5
|
task verify_pages: :environment do
|
6
|
+
puts 'ci/verify_pages - Verify all pages to make sure that no exceptions are thrown'
|
6
7
|
document_paths =
|
7
8
|
[
|
8
9
|
"#{Rails.configuration.docs_base_path}/_documentation/en/**/*.md",
|
@@ -25,6 +26,7 @@ namespace :ci do
|
|
25
26
|
|
26
27
|
desc 'Verify side navigation to make sure every page has valid YAML metadata'
|
27
28
|
task verify_navigation: :environment do
|
29
|
+
puts 'ci/verify_navigation - Verify side navigation to make sure every page has valid YAML metadata'
|
28
30
|
session = ActionDispatch::Integration::Session.new(Rails.application)
|
29
31
|
res = session.get '/documentation'
|
30
32
|
|
@@ -36,6 +38,7 @@ namespace :ci do
|
|
36
38
|
|
37
39
|
desc 'Render all OAS based API references'
|
38
40
|
task verify_oas_reference: :environment do
|
41
|
+
puts 'ci/verify_oas_reference - Render all OAS based API references'
|
39
42
|
session = ActionDispatch::Integration::Session.new(Rails.application)
|
40
43
|
OpenApiConstraint.list.each do |name|
|
41
44
|
res = session.get "/api/#{name}"
|
@@ -49,19 +52,24 @@ namespace :ci do
|
|
49
52
|
|
50
53
|
desc 'Ensure all OAS error URLS resolve'
|
51
54
|
task verify_error_urls_resolve: :environment do
|
55
|
+
puts 'ci/verify_error_urls_resolve - Ensure all OAS error URLS resolve'
|
52
56
|
session = ActionDispatch::Integration::Session.new(Rails.application)
|
53
57
|
session.host! 'localhost' unless Rails.env.test?
|
54
58
|
|
55
59
|
errors = []
|
56
60
|
|
57
61
|
OpenApiConstraint.list.each do |name|
|
62
|
+
puts " - Checking #{name}"
|
58
63
|
definition = OpenApiDefinitionResolver.find(name)
|
59
64
|
|
60
65
|
definition.endpoints.each do |endpoint|
|
66
|
+
puts " - #{endpoint.method} #{endpoint.path.path}"
|
61
67
|
endpoint.responses.each do |response|
|
68
|
+
puts " - #{response.code}"
|
62
69
|
next if response.code[0] == '2' # Successes don't have error messages
|
63
70
|
|
64
71
|
response.formats.each do |format|
|
72
|
+
puts " - #{format}"
|
65
73
|
schema = response.schema(format)
|
66
74
|
|
67
75
|
# Turn everything in to an array to simplify things
|
@@ -72,6 +80,10 @@ namespace :ci do
|
|
72
80
|
end
|
73
81
|
|
74
82
|
properties.each do |property|
|
83
|
+
# Workaround for issue when referencing from common errors
|
84
|
+
# eg: 10DLC: - $ref: "common/common_errors.yml#/components/responses/DefaultError/content/application~1json/schema"
|
85
|
+
next if property.blank?
|
86
|
+
|
75
87
|
type = property['type']
|
76
88
|
|
77
89
|
# Skip if it's an old-style error
|
@@ -115,6 +127,7 @@ namespace :ci do
|
|
115
127
|
end
|
116
128
|
|
117
129
|
task check_word_blocklist: :environment do
|
130
|
+
puts 'ci/check_word_blocklist - Check that none words in the word blocklist are in use'
|
118
131
|
markdown_files =
|
119
132
|
[
|
120
133
|
"#{Rails.configuration.docs_base_path}/_documentation/en/**/*.md",
|
@@ -146,6 +159,7 @@ namespace :ci do
|
|
146
159
|
end
|
147
160
|
|
148
161
|
task check_ruby_version: :environment do
|
162
|
+
puts 'ci/check_ruby_version - Check that the current Ruby version is supported'
|
149
163
|
# We treat .ruby-version as the canonical source
|
150
164
|
ruby_version = File.read('.ruby-version').strip
|
151
165
|
|
data/lib/nexmo_developer/public/assets/.sprockets-manifest-4e6d2b8abc718dafd9c3cc32787eea3b.json
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"files":{"manifest-dad05bf766af0fe3d79dd746db3c1361c0583026cdf35d6a2921bccaea835331.js":{"logical_path":"manifest.js","mtime":"2021-12-20T11:51:30+00:00","size":3,"digest":"6a3cf5192354f71615ac51034b3e97c20eda99643fcaf5bbe6d41ad59bd12167","integrity":"sha256-ajz1GSNU9xYVrFEDSz6Xwg7amWQ/yvW75tQa1ZvRIWc="},"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js":{"logical_path":"application.js","mtime":"2021-12-20T11:51:30+00:00","size":3172,"digest":"67f1fd16f949c2794341a44cf839e5436bbef74436e043ead39890d1c3b2e583","integrity":"sha256-Z/H9FvlJwnlDQaRM+DnlQ2u+90Q24EPq05iQ0cOy5YM="},"digitalData-cc7ee32b7180e36d640fbee63fbcecb8a0f42cd67aaccc3d0883bda4ed384932.js":{"logical_path":"digitalData.js","mtime":"2021-12-20T11:51:30+00:00","size":3755,"digest":"28b5b1ae4e4639492142e88b7c75b062066bc51a1761b5db476128e76543ad0b","integrity":"sha256-KLWxrk5GOUkhQuiLfHWwYgZrxRoXYbXbR2Eo52VDrQs="},"application-6e9186f7602070c57b5c60de9b45ad12f1fccdcf83e08ea28c809d7a5a42a232.css":{"logical_path":"application.css","mtime":"2021-12-20T11:51:30+00:00","size":8704,"digest":"99228d4019121f891ee008e4db5fb0ffa736bada427f4996d15c9c95d1af58b3","integrity":"sha256-mSKNQBkSH4ke4Ajk21+w/6c2utpCf0mW0VycldGvWLM="}},"assets":{"manifest.js":"manifest-dad05bf766af0fe3d79dd746db3c1361c0583026cdf35d6a2921bccaea835331.js","application.js":"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js","digitalData.js":"digitalData-cc7ee32b7180e36d640fbee63fbcecb8a0f42cd67aaccc3d0883bda4ed384932.js","application.css":"application-6e9186f7602070c57b5c60de9b45ad12f1fccdcf83e08ea28c809d7a5a42a232.css"}}
|
Binary file
|
Binary file
|
@@ -0,0 +1,142 @@
|
|
1
|
+
const PRIMARY_CATEGORY = document.getElementById('adobe_launch_primary_category').value
|
2
|
+
|
3
|
+
window.digitalData = {
|
4
|
+
page: {
|
5
|
+
pageInfo: {
|
6
|
+
pageName: '',
|
7
|
+
functionDept: '',
|
8
|
+
primaryCategory: PRIMARY_CATEGORY,
|
9
|
+
siteIdentifier: '',
|
10
|
+
lob: '',
|
11
|
+
subCategory1: '',
|
12
|
+
subCategory2: '',
|
13
|
+
subCategory3: '',
|
14
|
+
appVersion: '',
|
15
|
+
language: '',
|
16
|
+
country: '',
|
17
|
+
pageCategory: '',
|
18
|
+
flowName: '',
|
19
|
+
tokenFLag: '',
|
20
|
+
spaFlag: ''
|
21
|
+
},
|
22
|
+
content: {
|
23
|
+
author: '',
|
24
|
+
businessSize: '',
|
25
|
+
category: '',
|
26
|
+
company: '',
|
27
|
+
industry: '',
|
28
|
+
name: '',
|
29
|
+
product: '',
|
30
|
+
profRole: '',
|
31
|
+
publishDate: '',
|
32
|
+
subCategory: '',
|
33
|
+
topic: '',
|
34
|
+
type: ''
|
35
|
+
}
|
36
|
+
},
|
37
|
+
eventData: {
|
38
|
+
events: '',
|
39
|
+
fCTA: '',
|
40
|
+
fIndustry: '',
|
41
|
+
fLines: '',
|
42
|
+
fName: '',
|
43
|
+
interactionType: '',
|
44
|
+
linesSlider: ''
|
45
|
+
},
|
46
|
+
user: {
|
47
|
+
profile: {
|
48
|
+
profileInfo: {
|
49
|
+
visitorType: '',
|
50
|
+
accountNumber: '',
|
51
|
+
accountStatus: '',
|
52
|
+
userType: '',
|
53
|
+
userName: '',
|
54
|
+
accountPlan: '',
|
55
|
+
UserID: '',
|
56
|
+
responsiveSiteVersion: '',
|
57
|
+
country: '',
|
58
|
+
acctnumLocations: '',
|
59
|
+
acctcontractFlag: ''
|
60
|
+
}
|
61
|
+
}
|
62
|
+
},
|
63
|
+
transaction: [
|
64
|
+
{
|
65
|
+
productInfo: {
|
66
|
+
productID: ''
|
67
|
+
},
|
68
|
+
quantity: '',
|
69
|
+
price: {
|
70
|
+
basePrice: ''
|
71
|
+
}
|
72
|
+
}
|
73
|
+
]
|
74
|
+
}
|
75
|
+
|
76
|
+
|
77
|
+
// Updates data layer variables on every page load.
|
78
|
+
document.addEventListener('DOMContentLoaded', function() {
|
79
|
+
const urlPath = window.location.pathname
|
80
|
+
const pageName = getPageName(urlPath)
|
81
|
+
const { digitalData } = window
|
82
|
+
const categorySplit = PRIMARY_CATEGORY.split(':')
|
83
|
+
digitalData.page.pageInfo.functionDept = categorySplit.slice(0, categorySplit.length - 1).join(':')
|
84
|
+
digitalData.page.pageInfo.siteIdentifier = categorySplit.slice(1, categorySplit.length).join(':')
|
85
|
+
digitalData.page.pageInfo.lob = categorySplit[0]
|
86
|
+
digitalData.page.pageInfo.pageName = pageName
|
87
|
+
|
88
|
+
const subCatArray = updateSubCategories(pageName, digitalData)
|
89
|
+
digitalData.page.pageInfo.subCategory1 = subCatArray[0]
|
90
|
+
digitalData.page.pageInfo.subCategory2 = subCatArray[1]
|
91
|
+
digitalData.page.pageInfo.subCategory3 = subCatArray[2]
|
92
|
+
})
|
93
|
+
|
94
|
+
// Click event for Sign-in button
|
95
|
+
// Changes visitorType value when clicked.
|
96
|
+
document.getElementById('signin').addEventListener('click', function() {
|
97
|
+
updateVisitorType()
|
98
|
+
})
|
99
|
+
|
100
|
+
// Changes visitoryType to 'customer' if sign-in
|
101
|
+
// button is clicked.
|
102
|
+
// Default is null
|
103
|
+
function updateVisitorType() {
|
104
|
+
const { digitalData } = window
|
105
|
+
digitalData.user.profile.profileInfo.visitorType = 'customer'
|
106
|
+
}
|
107
|
+
|
108
|
+
function getPageName(urlPath) {
|
109
|
+
let pageName = ''
|
110
|
+
switch (urlPath) {
|
111
|
+
case '/' :
|
112
|
+
pageName = PRIMARY_CATEGORY + ':homepage'
|
113
|
+
break
|
114
|
+
default:
|
115
|
+
pageName = PRIMARY_CATEGORY + urlPath.replaceAll('/', ':')
|
116
|
+
}
|
117
|
+
return pageName
|
118
|
+
}
|
119
|
+
|
120
|
+
function updateSubCategories(pageName, digitalData) {
|
121
|
+
let subCategory1 = ''
|
122
|
+
let subCategory2 = ''
|
123
|
+
let subCategory3 = ''
|
124
|
+
const primaryCategoryArray = PRIMARY_CATEGORY.split(':')
|
125
|
+
const pageNameArray = pageName.split(':')
|
126
|
+
const categoryArray = []
|
127
|
+
const categoryResult = pageNameArray.filter(x => !primaryCategoryArray.includes(x))
|
128
|
+
subCategory1 = PRIMARY_CATEGORY + ':' + categoryResult[0]
|
129
|
+
subCategory2 = PRIMARY_CATEGORY + ':' + categoryResult[0]
|
130
|
+
subCategory3 = PRIMARY_CATEGORY + ':' + categoryResult[0]
|
131
|
+
if (categoryResult[1] != undefined) {
|
132
|
+
subCategory2 = subCategory2 + ':' + categoryResult[1]
|
133
|
+
subCategory3 = subCategory2
|
134
|
+
}
|
135
|
+
if (categoryResult[2] != undefined) {
|
136
|
+
subCategory3 = subCategory3 + ':' + categoryResult[2]
|
137
|
+
}
|
138
|
+
categoryArray.push(subCategory1)
|
139
|
+
categoryArray.push(subCategory2)
|
140
|
+
categoryArray.push(subCategory3)
|
141
|
+
return categoryArray
|
142
|
+
};
|
Binary file
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: station
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.138
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vonage DevRel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activeadmin
|
@@ -717,12 +717,14 @@ files:
|
|
717
717
|
- "./lib/nexmo_developer/public/android-chrome-512x512.png"
|
718
718
|
- "./lib/nexmo_developer/public/apple-touch-icon-precomposed.png"
|
719
719
|
- "./lib/nexmo_developer/public/apple-touch-icon.png"
|
720
|
-
- "./lib/nexmo_developer/public/assets/.sprockets-manifest-
|
720
|
+
- "./lib/nexmo_developer/public/assets/.sprockets-manifest-4e6d2b8abc718dafd9c3cc32787eea3b.json"
|
721
721
|
- "./lib/nexmo_developer/public/assets/application-6e9186f7602070c57b5c60de9b45ad12f1fccdcf83e08ea28c809d7a5a42a232.css"
|
722
722
|
- "./lib/nexmo_developer/public/assets/application-6e9186f7602070c57b5c60de9b45ad12f1fccdcf83e08ea28c809d7a5a42a232.css.gz"
|
723
723
|
- "./lib/nexmo_developer/public/assets/application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js"
|
724
724
|
- "./lib/nexmo_developer/public/assets/application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js.gz"
|
725
725
|
- "./lib/nexmo_developer/public/assets/archives/app-store-badges.zip"
|
726
|
+
- "./lib/nexmo_developer/public/assets/digitalData-cc7ee32b7180e36d640fbee63fbcecb8a0f42cd67aaccc3d0883bda4ed384932.js"
|
727
|
+
- "./lib/nexmo_developer/public/assets/digitalData-cc7ee32b7180e36d640fbee63fbcecb8a0f42cd67aaccc3d0883bda4ed384932.js.gz"
|
726
728
|
- "./lib/nexmo_developer/public/assets/fonts/icomoon.eot"
|
727
729
|
- "./lib/nexmo_developer/public/assets/fonts/icomoon.json"
|
728
730
|
- "./lib/nexmo_developer/public/assets/fonts/icomoon.svg"
|
@@ -804,8 +806,8 @@ files:
|
|
804
806
|
- "./lib/nexmo_developer/public/assets/images/workflow_voice_api_call.svg"
|
805
807
|
- "./lib/nexmo_developer/public/assets/images/workflow_voice_api_inbound_conversation.svg"
|
806
808
|
- "./lib/nexmo_developer/public/assets/images/workflow_voice_api_outbound_call.svg"
|
807
|
-
- "./lib/nexmo_developer/public/assets/manifest-
|
808
|
-
- "./lib/nexmo_developer/public/assets/manifest-
|
809
|
+
- "./lib/nexmo_developer/public/assets/manifest-dad05bf766af0fe3d79dd746db3c1361c0583026cdf35d6a2921bccaea835331.js"
|
810
|
+
- "./lib/nexmo_developer/public/assets/manifest-dad05bf766af0fe3d79dd746db3c1361c0583026cdf35d6a2921bccaea835331.js.gz"
|
809
811
|
- "./lib/nexmo_developer/public/assets/symbol/volta-icons.svg"
|
810
812
|
- "./lib/nexmo_developer/public/browserconfig.xml"
|
811
813
|
- "./lib/nexmo_developer/public/favicon-16x16.png"
|
@@ -1126,6 +1128,7 @@ files:
|
|
1126
1128
|
- lib/nexmo_developer/app/admin/admin_user.rb
|
1127
1129
|
- lib/nexmo_developer/app/assets/config/manifest.js
|
1128
1130
|
- lib/nexmo_developer/app/assets/javascripts/application.js
|
1131
|
+
- lib/nexmo_developer/app/assets/javascripts/digitalData.js
|
1129
1132
|
- lib/nexmo_developer/app/assets/stylesheets/application.css
|
1130
1133
|
- lib/nexmo_developer/app/channels/application_cable/channel.rb
|
1131
1134
|
- lib/nexmo_developer/app/channels/application_cable/connection.rb
|
data/lib/nexmo_developer/public/assets/.sprockets-manifest-35ccff49dde5df6fe219d1347909aa99.json
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"files":{"manifest-a72913f4c604bc8f97dd576fc8777bf029401f6af0e14b6a6c9d3874acfe73e4.js":{"logical_path":"manifest.js","mtime":"2021-11-10T15:33:37+00:00","size":1,"digest":"01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b","integrity":"sha256-AbpHGcgLb+kRsJGnwFEktk7uzpZOCcBY74+YBdrKVGs="},"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js":{"logical_path":"application.js","mtime":"2021-11-10T15:33:37+00:00","size":3172,"digest":"67f1fd16f949c2794341a44cf839e5436bbef74436e043ead39890d1c3b2e583","integrity":"sha256-Z/H9FvlJwnlDQaRM+DnlQ2u+90Q24EPq05iQ0cOy5YM="},"application-6e9186f7602070c57b5c60de9b45ad12f1fccdcf83e08ea28c809d7a5a42a232.css":{"logical_path":"application.css","mtime":"2021-11-10T15:33:37+00:00","size":8704,"digest":"99228d4019121f891ee008e4db5fb0ffa736bada427f4996d15c9c95d1af58b3","integrity":"sha256-mSKNQBkSH4ke4Ajk21+w/6c2utpCf0mW0VycldGvWLM="}},"assets":{"manifest.js":"manifest-a72913f4c604bc8f97dd576fc8777bf029401f6af0e14b6a6c9d3874acfe73e4.js","application.js":"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js","application.css":"application-6e9186f7602070c57b5c60de9b45ad12f1fccdcf83e08ea28c809d7a5a42a232.css"}}
|
@@ -1 +0,0 @@
|
|
1
|
-
|