station 0.2.0 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/lib/nexmo_developer/Gemfile +1 -1
  3. data/lib/nexmo_developer/Gemfile.lock +16 -16
  4. data/lib/nexmo_developer/app/models/blog/blogpost.rb +33 -13
  5. data/lib/nexmo_developer/app/views/blog/blogpost/show.html.erb +1 -1
  6. data/lib/nexmo_developer/app/views/static/default_landing/partials/_events.html.erb +1 -1
  7. data/lib/nexmo_developer/app/webpacker/javascript/components/concatenation/character_counter.js +2 -1
  8. data/lib/nexmo_developer/config/redirects.yml +1 -0
  9. data/lib/nexmo_developer/public/assets/{.sprockets-manifest-cff214b66591bfa22956a065f82dde71.json → .sprockets-manifest-e5ff2495d0c20d179bc4713f810df76d.json} +1 -1
  10. data/lib/nexmo_developer/public/assets/application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js.gz +0 -0
  11. data/lib/nexmo_developer/public/assets/application-e3c324ace3db5c0bf10139460f7f1efb017f04bbeb729bd8d34b308de0852c20.css.gz +0 -0
  12. data/lib/nexmo_developer/public/assets/manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js.gz +0 -0
  13. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js +2 -0
  14. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.br +0 -0
  15. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.gz +0 -0
  16. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.map +1 -0
  17. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.map.br +0 -0
  18. data/lib/nexmo_developer/public/packs/js/application-5c16497c83b8cfb5b2fc.chunk.js.map.gz +0 -0
  19. data/lib/nexmo_developer/public/packs/manifest.json +4 -4
  20. data/lib/nexmo_developer/public/packs/manifest.json.br +0 -0
  21. data/lib/nexmo_developer/public/packs/manifest.json.gz +0 -0
  22. data/lib/nexmo_developer/version.rb +1 -1
  23. metadata +9 -9
  24. data/lib/nexmo_developer/public/packs/js/application-636c6954b185aeed5c79.chunk.js +0 -2
  25. data/lib/nexmo_developer/public/packs/js/application-636c6954b185aeed5c79.chunk.js.br +0 -0
  26. data/lib/nexmo_developer/public/packs/js/application-636c6954b185aeed5c79.chunk.js.gz +0 -0
  27. data/lib/nexmo_developer/public/packs/js/application-636c6954b185aeed5c79.chunk.js.map +0 -1
  28. data/lib/nexmo_developer/public/packs/js/application-636c6954b185aeed5c79.chunk.js.map.br +0 -0
  29. data/lib/nexmo_developer/public/packs/js/application-636c6954b185aeed5c79.chunk.js.map.gz +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b1de1eb12c8a2d0c7bbe1b958ada3d21d7241c0485e2bca6bb3ae7084341553
4
- data.tar.gz: a49fd7cf17a9bd6fdf3d3b1824e6566c1d245f69944da8414b35261c985d36d3
3
+ metadata.gz: 5a947846630c3ca7a310b81b593a25dbf8c744f2be5c5aed06a03e4b0eeb70c1
4
+ data.tar.gz: 76cfeb567ba437bc51b64bbb763876e8cc0f4a73674e49e69ca1e153bb19bdc2
5
5
  SHA512:
6
- metadata.gz: e28267ce08cf0c42ec34386441524b123e1d19c0c9bf545758f45faf0e2c3d101ae74a3a38d85b3265af292bbed7275cf76a67e960ab4bc0e816154710a38da0
7
- data.tar.gz: eaa5c8c814c1d7be88e548d53512e4cfeee18c7a158f68509f0242899efb519b69cd1351bda5d86cf9f380df403cc32abf1144803f925ffc595b42ab121bc045
6
+ metadata.gz: cad33abfffe6f0f25c9cf76cb104a0358f2035c44d5f1ef71b7e709a21fc3286fad95f1a3496164507725cde9775a2b4fb025bdcb013674fd4f38b542d0c9c11
7
+ data.tar.gz: 5ee9ee0498da25eb812457c4f27ef94b6df5ebae5e4d1183022394f676e697323add3c145c01290e3c24dc4081a771e601241610a726ed1563849314aa6e8227
@@ -119,7 +119,7 @@ gem 'country_select', '~> 4.0'
119
119
 
120
120
  gem 'nexmo-oas-renderer', '~> 2.7', require: false
121
121
 
122
- gem 'nexmo_markdown_renderer', '~> 0.9'
122
+ gem 'nexmo_markdown_renderer', '~> 0.9.2'
123
123
 
124
124
  gem 'smartling'
125
125
 
@@ -140,7 +140,7 @@ GEM
140
140
  execjs
141
141
  coffee-script-source (1.12.2)
142
142
  colorize (0.8.1)
143
- concurrent-ruby (1.1.9)
143
+ concurrent-ruby (1.1.10)
144
144
  countries (3.1.0)
145
145
  i18n_data (~> 0.11.0)
146
146
  sixarm_ruby_unaccent (~> 1.1)
@@ -252,7 +252,7 @@ GEM
252
252
  mime-types (~> 3.0)
253
253
  multi_xml (>= 0.5.2)
254
254
  httpclient (2.8.3)
255
- i18n (1.8.10)
255
+ i18n (1.10.0)
256
256
  concurrent-ruby (~> 1.0)
257
257
  i18n_data (0.11.0)
258
258
  icalendar (2.7.1)
@@ -291,7 +291,7 @@ GEM
291
291
  activesupport (>= 4)
292
292
  railties (>= 4)
293
293
  request_store (~> 1.0)
294
- loofah (2.10.0)
294
+ loofah (2.16.0)
295
295
  crass (~> 1.0.2)
296
296
  nokogiri (>= 1.5.9)
297
297
  lumberjack (1.2.8)
@@ -306,8 +306,8 @@ GEM
306
306
  nokogiri (~> 1)
307
307
  rake
308
308
  mini_mime (1.1.0)
309
- mini_portile2 (2.5.3)
310
- minitest (5.14.4)
309
+ mini_portile2 (2.8.0)
310
+ minitest (5.15.0)
311
311
  msgpack (1.4.2)
312
312
  msgpack (1.4.2-java)
313
313
  multi_json (1.15.0)
@@ -334,7 +334,7 @@ GEM
334
334
  sass (~> 3.1)
335
335
  shotgun (~> 0.9)
336
336
  sinatra (~> 2.0)
337
- nexmo_markdown_renderer (0.9.1)
337
+ nexmo_markdown_renderer (0.9.2)
338
338
  actionview (~> 6.0)
339
339
  activemodel (~> 6.0)
340
340
  banzai (~> 0.1.2)
@@ -344,14 +344,14 @@ GEM
344
344
  rouge (~> 2.0.7)
345
345
  nio4r (2.5.7)
346
346
  nio4r (2.5.7-java)
347
- nokogiri (1.11.7)
348
- mini_portile2 (~> 2.5.0)
347
+ nokogiri (1.13.4)
348
+ mini_portile2 (~> 2.8.0)
349
349
  racc (~> 1.4)
350
- nokogiri (1.11.7-java)
350
+ nokogiri (1.13.4-java)
351
351
  racc (~> 1.4)
352
- nokogiri (1.11.7-x64-mingw32)
352
+ nokogiri (1.13.4-x64-mingw32)
353
353
  racc (~> 1.4)
354
- nokogiri (1.11.7-x86-mingw32)
354
+ nokogiri (1.13.4-x86-mingw32)
355
355
  racc (~> 1.4)
356
356
  notiffany (0.1.3)
357
357
  nenv (~> 0.1)
@@ -385,8 +385,8 @@ GEM
385
385
  nio4r (~> 2.0)
386
386
  puma (5.3.2-java)
387
387
  nio4r (~> 2.0)
388
- racc (1.5.2)
389
- racc (1.5.2-java)
388
+ racc (1.6.0)
389
+ racc (1.6.0-java)
390
390
  rack (2.2.3)
391
391
  rack-protection (2.1.0)
392
392
  rack
@@ -416,7 +416,7 @@ GEM
416
416
  rails-dom-testing (2.0.3)
417
417
  activesupport (>= 4.2.0)
418
418
  nokogiri (>= 1.6)
419
- rails-html-sanitizer (1.3.0)
419
+ rails-html-sanitizer (1.4.2)
420
420
  loofah (~> 2.3)
421
421
  railties (6.1.4)
422
422
  actionpack (= 6.1.4)
@@ -610,7 +610,7 @@ GEM
610
610
  woothee (1.11.1)
611
611
  xpath (3.2.0)
612
612
  nokogiri (~> 1.8)
613
- zeitwerk (2.4.2)
613
+ zeitwerk (2.5.4)
614
614
 
615
615
  PLATFORMS
616
616
  java
@@ -657,7 +657,7 @@ DEPENDENCIES
657
657
  neatjson
658
658
  newrelic_rpm
659
659
  nexmo-oas-renderer (~> 2.7)
660
- nexmo_markdown_renderer (~> 0.9)
660
+ nexmo_markdown_renderer (~> 0.9.2)
661
661
  nokogiri (>= 1.11.4)
662
662
  octokit
663
663
  pg (~> 1.2)
@@ -36,16 +36,7 @@ class Blog::Blogpost
36
36
 
37
37
  default_not_found_page(path) unless File.exist?(path)
38
38
 
39
- # gsub Netlify - img urls to S3 Bucket
40
- document = File.read(path).gsub('/content/blog/') do |match|
41
- "#{Blog::Blogpost::CLOUDFRONT_BLOG_URL}blogposts/#{match.gsub('/content/blog/', '')}"
42
- end
43
-
44
- # gsub Netlify - embedded YOUTUBE Video
45
- document = document.gsub(%r{<youtube id="(\w+)"></youtube>}) do |match|
46
- youtube_id = match[/(?<=").*(?=")/]
47
- "<center class='video'><br><iframe width='448' height='252' src='https://www.youtube-nocookie.com/embed/#{youtube_id}' frameborder='0' allow='accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture' allowfullscreen></iframe><br><br></center>"
48
- end
39
+ document = clean_document_from_netlify(path)
49
40
 
50
41
  blogpost = new(BlogpostParser.build_show_with_locale(path, locale))
51
42
  blogpost.content = Nexmo::Markdown::Renderer.new({}).call(document)
@@ -74,9 +65,38 @@ class Blog::Blogpost
74
65
  end
75
66
 
76
67
  def self.default_not_found_page(path)
77
- # TODO: - default not found page
78
- # get '*unmatched_route', to: 'application#not_found'
79
- # is already taking care of any wrong route
80
68
  "<h1>No such blog</h1><p>#{path}</p>"
81
69
  end
70
+
71
+ def self.clean_document_from_netlify(path)
72
+ # Netlify - Imgage urls to S3 Bucket
73
+ document = File.read(path).gsub('/content/blog/') { |match| "#{Blog::Blogpost::CLOUDFRONT_BLOG_URL}blogposts/#{match.gsub('/content/blog/', '')}" }
74
+
75
+ # Netlify - SIGN UP Banner
76
+ document = document.gsub(%r{<sign-up></sign-up>}, "#{banner_text}#{build_image_tag}")
77
+
78
+ # Netlify - SIGN UP Banner + Number
79
+ document = document.gsub(%r{<sign-up number></sign-up>}) do |_match|
80
+ "#{banner_text}<p>This tutorial also uses a virtual phone number. To purchase one, go to <em>Numbers > Buy Numbers</em> and search for one that meets your needs.</p>#{build_image_tag}"
81
+ end
82
+
83
+ # Netlify - Embedded YOUTUBE Video
84
+ document.gsub(%r{<youtube id="(\w+)"></youtube>}) do |match|
85
+ youtube_id = match[/(?<=").*(?=")/]
86
+ "<center class='video'><br><iframe width='448' height='252' src='https://www.youtube-nocookie.com/embed/#{youtube_id}' frameborder='0' allow='accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture' allowfullscreen></iframe><br><br></center>"
87
+ end
88
+ end
89
+
90
+ # NETLIFY Helpers
91
+ def self.s3_banner_image
92
+ 'https://s3.eu-west-1.amazonaws.com/developer.vonage.com/blog/signup_banner/sign_up_banner.png'
93
+ end
94
+
95
+ def self.build_image_tag
96
+ "<p></p><figure><img src='#{s3_banner_image}' alt='Screenshot of new Meetings API session in progress'><figcaption class='Vlt-center'><em>Start developing in minutes with free credits on us. No credit card required!</em></figcaption></figure><p></p>"
97
+ end
98
+
99
+ def self.banner_text
100
+ "<h3 class='Vlt-title--icon'>Vonage API Account</h3><p>To complete this tutorial, you will need a <a href='https://dashboard.nexmo.com/sign-up' target='_blank'>Vonage API account</a>. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the <a href='https://dashboard.nexmo.com/sign-up' target='_blank'>Vonage API Dashboard</a>.</p>"
101
+ end
82
102
  end
@@ -60,7 +60,7 @@
60
60
  <div id="content" class="Vlt-card Vlt-bg-white">
61
61
 
62
62
  <!-- Header IMG -->
63
- <div class="border-radius-top card-header-image" style="background-image: url(<%= @blogpost.header_img_url %>);"></div>
63
+ <div><%= image_tag @blogpost.header_img_url, class: "border-radius-top" %></div>
64
64
 
65
65
  <div class="Vlt-card__content" style="padding:24px;">
66
66
 
@@ -50,7 +50,7 @@
50
50
 
51
51
 
52
52
  <div id="community-events" class="Vlt-grid">
53
- <% @upcoming_events.first(6).each do |event| %>
53
+ <% @upcoming_events.each do |event| %>
54
54
  <div class="Vlt-col Vlt-col--1of3">
55
55
  <div class="Vlt-card">
56
56
  <h3><%= link_to event.title, event.url, target: '_blank' %></h3>
@@ -26,7 +26,8 @@ const GSM_STANDARD_CHARS = [
26
26
  '§', 'o', 'à', 'Δ', 'Φ',
27
27
  'Γ', 'Λ', 'Ω', 'Π', 'Ψ',
28
28
  'Σ', 'Θ', 'Ξ', 'Ö', 'Ä',
29
- 'Ü', 'ø', ' ', '\r', '\n'
29
+ 'Ü', 'ø', ' ', '\r', '\n',
30
+ '¤', '&'
30
31
  ]
31
32
 
32
33
  const GSM_EXTENDED_CHARS = [
@@ -278,3 +278,4 @@
278
278
  "/dispatch/tutorials/sending-facebook-message-with-failover": "/dispatch/tutorials/send-facebook-message-with-failover"
279
279
  "/task/sending-facebook-message-with-failover": "/dispatch/tutorials/send-facebook-message-with-failover"
280
280
  "/concepts/guides/webhook": "/concepts/guides/webhooks"
281
+ "/messages/concepts/whatsapp-hosting": "/messages/concepts/whatsapp#whatsapp-number-hosting"
@@ -1 +1 @@
1
- {"files":{"manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js":{"logical_path":"manifest.js","mtime":"2022-04-06T14:31:50+00:00","size":2,"digest":"75a11da44c802486bc6f65640aa48a730f0f684c5c07a42ba3cd1735eb3fb070","integrity":"sha256-daEdpEyAJIa8b2VkCqSKcw8PaExcB6Qro80XNes/sHA="},"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js":{"logical_path":"application.js","mtime":"2022-04-06T14:31:50+00:00","size":3172,"digest":"67f1fd16f949c2794341a44cf839e5436bbef74436e043ead39890d1c3b2e583","integrity":"sha256-Z/H9FvlJwnlDQaRM+DnlQ2u+90Q24EPq05iQ0cOy5YM="},"application-e3c324ace3db5c0bf10139460f7f1efb017f04bbeb729bd8d34b308de0852c20.css":{"logical_path":"application.css","mtime":"2022-04-06T14:31:50+00:00","size":16653,"digest":"7bba29977bdaa394d9d33788c5c59026cebf41f7290009d61391a0a645e2272b","integrity":"sha256-e7opl3vao5TZ0zeIxcWQJs6/QfcpAAnWE5GgpkXiJys="}},"assets":{"manifest.js":"manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js","application.js":"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js","application.css":"application-e3c324ace3db5c0bf10139460f7f1efb017f04bbeb729bd8d34b308de0852c20.css"}}
1
+ {"files":{"manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js":{"logical_path":"manifest.js","mtime":"2022-04-25T10:04:02+00:00","size":2,"digest":"75a11da44c802486bc6f65640aa48a730f0f684c5c07a42ba3cd1735eb3fb070","integrity":"sha256-daEdpEyAJIa8b2VkCqSKcw8PaExcB6Qro80XNes/sHA="},"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js":{"logical_path":"application.js","mtime":"2022-04-25T10:04:02+00:00","size":3172,"digest":"67f1fd16f949c2794341a44cf839e5436bbef74436e043ead39890d1c3b2e583","integrity":"sha256-Z/H9FvlJwnlDQaRM+DnlQ2u+90Q24EPq05iQ0cOy5YM="},"application-e3c324ace3db5c0bf10139460f7f1efb017f04bbeb729bd8d34b308de0852c20.css":{"logical_path":"application.css","mtime":"2022-04-25T10:04:02+00:00","size":16653,"digest":"7bba29977bdaa394d9d33788c5c59026cebf41f7290009d61391a0a645e2272b","integrity":"sha256-e7opl3vao5TZ0zeIxcWQJs6/QfcpAAnWE5GgpkXiJys="}},"assets":{"manifest.js":"manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js","application.js":"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js","application.css":"application-e3c324ace3db5c0bf10139460f7f1efb017f04bbeb729bd8d34b308de0852c20.css"}}