station 0.0.134 → 0.0.138

Sign up to get free protection for your applications and to get access to all the features.
Files changed (22) hide show
  1. checksums.yaml +4 -4
  2. data/.env.example +3 -0
  3. data/.gitignore +3 -1
  4. data/lib/nexmo_developer/.rspec +1 -0
  5. data/lib/nexmo_developer/app/assets/config/manifest.js +2 -1
  6. data/lib/nexmo_developer/app/assets/javascripts/digitalData.js +142 -0
  7. data/lib/nexmo_developer/app/controllers/application_controller.rb +15 -0
  8. data/lib/nexmo_developer/app/views/layouts/partials/_head.html.erb +3 -3
  9. data/lib/nexmo_developer/app/views/layouts/partials/_header.html.erb +4 -0
  10. data/lib/nexmo_developer/lib/tasks/ci.rake +14 -0
  11. data/lib/nexmo_developer/public/assets/.sprockets-manifest-4e6d2b8abc718dafd9c3cc32787eea3b.json +1 -0
  12. data/lib/nexmo_developer/public/assets/application-6e9186f7602070c57b5c60de9b45ad12f1fccdcf83e08ea28c809d7a5a42a232.css.gz +0 -0
  13. data/lib/nexmo_developer/public/assets/application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js.gz +0 -0
  14. data/lib/nexmo_developer/public/assets/digitalData-cc7ee32b7180e36d640fbee63fbcecb8a0f42cd67aaccc3d0883bda4ed384932.js +142 -0
  15. data/lib/nexmo_developer/public/assets/digitalData-cc7ee32b7180e36d640fbee63fbcecb8a0f42cd67aaccc3d0883bda4ed384932.js.gz +0 -0
  16. data/lib/nexmo_developer/public/assets/manifest-dad05bf766af0fe3d79dd746db3c1361c0583026cdf35d6a2921bccaea835331.js +3 -0
  17. data/lib/nexmo_developer/public/assets/manifest-dad05bf766af0fe3d79dd746db3c1361c0583026cdf35d6a2921bccaea835331.js.gz +0 -0
  18. data/lib/nexmo_developer/version.rb +1 -1
  19. metadata +8 -5
  20. data/lib/nexmo_developer/public/assets/.sprockets-manifest-35ccff49dde5df6fe219d1347909aa99.json +0 -1
  21. data/lib/nexmo_developer/public/assets/manifest-a72913f4c604bc8f97dd576fc8777bf029401f6af0e14b6a6c9d3874acfe73e4.js +0 -1
  22. 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: 1430340bc53d02b901ff52d0e0a8d5f5691297fd0f9495eff24eda22133c553f
4
- data.tar.gz: f5117c588ae60c5080767b47afa24c0e8823a01070e34f8903406935d8103b4a
3
+ metadata.gz: e634b85e42ad8a0d4f48cf9730b92356b432dd518a3101eed04cb66c3e0a9d48
4
+ data.tar.gz: f8b6cb685d83c8497384be4336fb09dcb7e8b1e089d7d40621284d7f8d08c60b
5
5
  SHA512:
6
- metadata.gz: 0b48dbb64005f060adea66df0b886aac613a5b258a110878119a8b619eda9384ad69fe54913b7b360f26147428d11fca4b150cac13c1f1de2fa1b6d4b97059f4
7
- data.tar.gz: b238d1910c947592cdaef8dc5da698961c4980c56d4c557be07c462e322472ae41fb410eb8b2e719a6a1b68351880e9c7d25610afb7fa19585c99106a7644e5e
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=''
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/media
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
@@ -1,2 +1,3 @@
1
1
  --color
2
2
  --require spec_helper
3
+ --format doc
@@ -1,2 +1,3 @@
1
1
  //= link application.js
2
- //= link application.css
2
+ //= link digitalData.js
3
+ //= link application.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,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
 
@@ -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"}}
@@ -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.134'.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.134
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-10 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,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-35ccff49dde5df6fe219d1347909aa99.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-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-a72913f4c604bc8f97dd576fc8777bf029401f6af0e14b6a6c9d3874acfe73e4.js"
808
- - "./lib/nexmo_developer/public/assets/manifest-a72913f4c604bc8f97dd576fc8777bf029401f6af0e14b6a6c9d3874acfe73e4.js.gz"
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
@@ -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"}}