station 0.0.137 → 0.0.138

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 20b59953675962a92ab725ca3bee5d0be5efe1e91274001365551b2375cb6520
4
- data.tar.gz: 34eaf4ed263c163938d131d9cef43a8ffbed48d53eaee5e3f39adb6951829fcd
3
+ metadata.gz: e634b85e42ad8a0d4f48cf9730b92356b432dd518a3101eed04cb66c3e0a9d48
4
+ data.tar.gz: f8b6cb685d83c8497384be4336fb09dcb7e8b1e089d7d40621284d7f8d08c60b
5
5
  SHA512:
6
- metadata.gz: 4a751259895aa7059be1503b89d0a748371bd69193eddee446b4262587acb46d6496c91d9acaad0661fb4d00a38e143686fedcd95a5d3c0626d326bf921a0e2c
7
- data.tar.gz: 475fa66e46bbfca6d93893244eb40704079173f0188d005b4e56bc5f8111140cf5ef733af1495fde4a6fe74a81cb7cb4e7bb77826af52a13b1e24828c52a13f9
6
+ metadata.gz: b8ea16dc943e37aa900ef0268bde1b8ec33a753de52074a5d6af6fcf205ef93129533f9508d5f1165cc053a6ddda413153872d2dd5f6999c4122652d9c10d40c
7
+ data.tar.gz: e2d47615313f0342126d25dac0dcb6fe5c7df22b3c6de3a5fe2ef7d3460fed2715f8b077ec9db8391b123504442c4dbcc4093b701be86701c2334de26a79618a
data/.env.example CHANGED
@@ -26,6 +26,9 @@ GREENHOUSE_API_TOKEN='greenhouse-api-token'
26
26
 
27
27
  REDIS_URL=redis://localhost:6379/0
28
28
 
29
+ ADOBE_LAUNCH_URL=''
30
+ ADOBE_LAUNCH_PRIMARY_CATEGORY='' #example value='biz:api:adp:developer'
31
+
29
32
  # POSTGRES_USERNAME=''
30
33
 
31
34
  # SMARTLING_USER_ID=''
@@ -1,11 +1,13 @@
1
+ const PRIMARY_CATEGORY = document.getElementById('adobe_launch_primary_category').value
2
+
1
3
  window.digitalData = {
2
4
  page: {
3
5
  pageInfo: {
4
6
  pageName: '',
5
- functionDept: 'biz:api:adp',
6
- primaryCategory: 'biz:api:adp:developer',
7
- siteIdentifier: 'api:adp:developer',
8
- lob: 'biz',
7
+ functionDept: '',
8
+ primaryCategory: PRIMARY_CATEGORY,
9
+ siteIdentifier: '',
10
+ lob: '',
9
11
  subCategory1: '',
10
12
  subCategory2: '',
11
13
  subCategory3: '',
@@ -71,11 +73,70 @@ window.digitalData = {
71
73
  ]
72
74
  }
73
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.
74
96
  document.getElementById('signin').addEventListener('click', function() {
75
97
  updateVisitorType()
76
98
  })
77
99
 
100
+ // Changes visitoryType to 'customer' if sign-in
101
+ // button is clicked.
102
+ // Default is null
78
103
  function updateVisitorType() {
79
104
  const { digitalData } = window
80
105
  digitalData.user.profile.profileInfo.visitorType = 'customer'
81
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
+ }
@@ -3,9 +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
-
7
- <script src="https://assets.adobedtm.com/54d668d6379a/4bfed685397d/launch-029c4ab10638-development.min.js" async></script>
8
-
6
+ <% if ENV['ADOBE_LAUNCH_URL'] %>
7
+ <script src='<%= ENV['ADOBE_LAUNCH_URL'] %>' async></script>
8
+ <% end %>
9
9
  <% if head.google_site_verification %>
10
10
  <meta name="google-site-verification" content=<%= head.google_site_verification %> />
11
11
  <% end %>
@@ -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,5 +121,7 @@
120
121
  <% end %>
121
122
  <% end %>
122
123
  </section>
123
- <%= javascript_include_tag 'digitalData'%>
124
+ <% if ENV['ADOBE_LAUNCH_URL'] && ENV['ADOBE_LAUNCH_PRIMARY_CATEGORY'] %>
125
+ <%= javascript_include_tag 'digitalData'%>
126
+ <% end %>
124
127
  </div>
@@ -1 +1 @@
1
- {"files":{"manifest-dad05bf766af0fe3d79dd746db3c1361c0583026cdf35d6a2921bccaea835331.js":{"logical_path":"manifest.js","mtime":"2021-12-15T15:06:28+00:00","size":3,"digest":"6a3cf5192354f71615ac51034b3e97c20eda99643fcaf5bbe6d41ad59bd12167","integrity":"sha256-ajz1GSNU9xYVrFEDSz6Xwg7amWQ/yvW75tQa1ZvRIWc="},"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js":{"logical_path":"application.js","mtime":"2021-12-15T15:06:28+00:00","size":3172,"digest":"67f1fd16f949c2794341a44cf839e5436bbef74436e043ead39890d1c3b2e583","integrity":"sha256-Z/H9FvlJwnlDQaRM+DnlQ2u+90Q24EPq05iQ0cOy5YM="},"digitalData-c8a2b5282d47e7089f7030b9d5e3054b3f8197a394c2b55288ec42941a6c2719.js":{"logical_path":"digitalData.js","mtime":"2021-12-15T15:06:28+00:00","size":1572,"digest":"739864c1abc7a9a4e7dbb02cdca187bd314ab0243088212f8d6599a0409af832","integrity":"sha256-c5hkwavHqaTn27As3KGHvTFKsCQwiCEvjWWZoECa+DI="},"application-6e9186f7602070c57b5c60de9b45ad12f1fccdcf83e08ea28c809d7a5a42a232.css":{"logical_path":"application.css","mtime":"2021-12-15T15:06:28+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-c8a2b5282d47e7089f7030b9d5e3054b3f8197a394c2b55288ec42941a6c2719.js","application.css":"application-6e9186f7602070c57b5c60de9b45ad12f1fccdcf83e08ea28c809d7a5a42a232.css"}}
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"}}
@@ -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,3 +1,3 @@
1
1
  module NexmoDeveloper
2
- VERSION = '0.0.137'.freeze
2
+ VERSION = '0.0.138'.freeze
3
3
  end
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.137
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-12-15 00:00:00.000000000 Z
11
+ date: 2021-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeadmin
@@ -717,14 +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-581357ac3ba229adfc4849f02f2e7a62.json"
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-c8a2b5282d47e7089f7030b9d5e3054b3f8197a394c2b55288ec42941a6c2719.js"
727
- - "./lib/nexmo_developer/public/assets/digitalData-c8a2b5282d47e7089f7030b9d5e3054b3f8197a394c2b55288ec42941a6c2719.js.gz"
726
+ - "./lib/nexmo_developer/public/assets/digitalData-cc7ee32b7180e36d640fbee63fbcecb8a0f42cd67aaccc3d0883bda4ed384932.js"
727
+ - "./lib/nexmo_developer/public/assets/digitalData-cc7ee32b7180e36d640fbee63fbcecb8a0f42cd67aaccc3d0883bda4ed384932.js.gz"
728
728
  - "./lib/nexmo_developer/public/assets/fonts/icomoon.eot"
729
729
  - "./lib/nexmo_developer/public/assets/fonts/icomoon.json"
730
730
  - "./lib/nexmo_developer/public/assets/fonts/icomoon.svg"
@@ -1,81 +0,0 @@
1
- window.digitalData = {
2
- page: {
3
- pageInfo: {
4
- pageName: '',
5
- functionDept: 'biz:api:adp',
6
- primaryCategory: 'biz:api:adp:developer',
7
- siteIdentifier: 'api:adp:developer',
8
- lob: 'biz',
9
- subCategory1: '',
10
- subCategory2: '',
11
- subCategory3: '',
12
- appVersion: '',
13
- language: '',
14
- country: '',
15
- pageCategory: '',
16
- flowName: '',
17
- tokenFLag: '',
18
- spaFlag: ''
19
- },
20
- content: {
21
- author: '',
22
- businessSize: '',
23
- category: '',
24
- company: '',
25
- industry: '',
26
- name: '',
27
- product: '',
28
- profRole: '',
29
- publishDate: '',
30
- subCategory: '',
31
- topic: '',
32
- type: ''
33
- }
34
- },
35
- eventData: {
36
- events: '',
37
- fCTA: '',
38
- fIndustry: '',
39
- fLines: '',
40
- fName: '',
41
- interactionType: '',
42
- linesSlider: ''
43
- },
44
- user: {
45
- profile: {
46
- profileInfo: {
47
- visitorType: '',
48
- accountNumber: '',
49
- accountStatus: '',
50
- userType: '',
51
- userName: '',
52
- accountPlan: '',
53
- UserID: '',
54
- responsiveSiteVersion: '',
55
- country: '',
56
- acctnumLocations: '',
57
- acctcontractFlag: ''
58
- }
59
- }
60
- },
61
- transaction: [
62
- {
63
- productInfo: {
64
- productID: ''
65
- },
66
- quantity: '',
67
- price: {
68
- basePrice: ''
69
- }
70
- }
71
- ]
72
- }
73
-
74
- document.getElementById('signin').addEventListener('click', function() {
75
- updateVisitorType()
76
- })
77
-
78
- function updateVisitorType() {
79
- const { digitalData } = window
80
- digitalData.user.profile.profileInfo.visitorType = 'customer'
81
- };