station 0.1.8 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d36ca6eb4380f8d14c63d935691b696807b255a6bf6a3dd74b82800321d7784f
4
- data.tar.gz: 8f0b7aad67b225725ff25e87ad043a3a433c07119e516297ff5c3c3ae411ff0a
3
+ metadata.gz: 8b1de1eb12c8a2d0c7bbe1b958ada3d21d7241c0485e2bca6bb3ae7084341553
4
+ data.tar.gz: a49fd7cf17a9bd6fdf3d3b1824e6566c1d245f69944da8414b35261c985d36d3
5
5
  SHA512:
6
- metadata.gz: 5df16b7dd6a924e970efa3492d8814439e08d9851b7ff2119cee880633acba6fd3cf263bff6b178ba21b92f69d15975f235da4c033d56c8c73c5b0ed715e5e5a
7
- data.tar.gz: 55e154c6e61467f275f539a8bd155845d8a744d1d996de16e06416b09156675f92d185b06536cb060449eb60668bddf0235f4487f6fe6ae2088e8e378ba44bbb
6
+ metadata.gz: e28267ce08cf0c42ec34386441524b123e1d19c0c9bf545758f45faf0e2c3d101ae74a3a38d85b3265af292bbed7275cf76a67e960ab4bc0e816154710a38da0
7
+ data.tar.gz: eaa5c8c814c1d7be88e548d53512e4cfeee18c7a158f68509f0242899efb519b69cd1351bda5d86cf9f380df403cc32abf1144803f925ffc595b42ab121bc045
@@ -0,0 +1,33 @@
1
+ class ChangelogsController < ApplicationController
2
+ def index
3
+ return if ENV['CHANGELOGS_PATH'].blank?
4
+
5
+ @titles = Dir.glob("#{ENV['CHANGELOGS_PATH']}/**")
6
+ .select { |e| File.directory? e }
7
+ .map do |folder_path|
8
+ {
9
+ title: File.basename(folder_path),
10
+ files: Dir.glob("#{folder_path}/*.md").map do |md_file|
11
+ {
12
+ file_title: File.basename(md_file, '.md'),
13
+ frontmatter: File.read(md_file).match(/\A(---.+?---)/mo) ? YAML.safe_load(File.read(md_file)) : {},
14
+ }
15
+ end,
16
+ }
17
+ end
18
+ end
19
+
20
+ def show
21
+ page_title = params[:name]
22
+ folder_name = params[:folder]
23
+
24
+ if File.exist?("#{ENV['CHANGELOGS_PATH']}/#{folder_name}/#{page_title}.md")
25
+ page = Dir.glob("#{ENV['CHANGELOGS_PATH']}/#{folder_name}/#{page_title}.md").first
26
+ document = File.read(page).gsub(/\A(---.+?---)/mo, '')
27
+ else
28
+ document = "<h3>Sorry, this file doesn't exist!</h3><code><strong>/_changelogs/#{folder_name}/#{page_title}.md</strong></code>"
29
+ end
30
+
31
+ @content = Nexmo::Markdown::Renderer.new({}).call(document)
32
+ end
33
+ end
@@ -0,0 +1,13 @@
1
+ module ChangelogsHelper
2
+ def build_volta_icon(element)
3
+ return '' unless element
4
+
5
+ if element.scan(/vonage-(\w+)-sdk/).present?
6
+ element.scan(/vonage-(\w+)-sdk/).flatten.first.downcase
7
+ elsif element.scan(/(\w+) SDK/).present?
8
+ element.scan(/(\w+) SDK/).flatten.first.downcase
9
+ elsif element.scan(/(\w+)-cli/).present?
10
+ element.scan(/(\w+)-cli/).flatten.first.downcase
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,33 @@
1
+ <h1>Changelogs</h1>
2
+
3
+ <% @titles.each do |title| %>
4
+ <div class="header-separator hr--tall Vlt-text-separator Vlt-text-separator--big">
5
+ <span>< <%= title[:title].upcase %> /></span>
6
+ </div>
7
+
8
+ <div class="my-3col-grid">
9
+ <% title[:files].each do |file| %>
10
+ <%= link_to changelog_path(folder: title[:title], name: file[:file_title]), class: 'Vlt-card Vlt-card--clickable' do%>
11
+
12
+ <div class="Vlt-card__header">
13
+
14
+ <svg class="Vlt-icon Vlt-grey">
15
+ <use xlink:href="/symbol/volta-brand-icons.svg#Brand-icon-<%= build_volta_icon(file[:file_title]) %>-color" />
16
+ </svg>
17
+
18
+ <h3><%= file[:file_title] %></h3>
19
+
20
+ <% if ["version", "release"].all? {|k| file[:frontmatter].key?(k)} %>
21
+ <p style="position: relative; top: 20px;">
22
+ <code><%= "v#{file[:frontmatter]["version"]}" %></code> released on <%= "#{file[:frontmatter]["release"]}" %>
23
+ </p>
24
+ <% end %>
25
+
26
+ </div>
27
+
28
+ <% end %>
29
+ <% end %>
30
+ </div>
31
+
32
+
33
+ <% end %>
@@ -0,0 +1 @@
1
+ <div class="raw_blopost_content"><%= raw @content %></div>
@@ -67,6 +67,9 @@
67
67
  <div class="Vlt-topmenu__item">
68
68
  <a href="/extend"><p><b class="Vlt-white">Integrations</b></p></a>
69
69
  </div>
70
+ <div class="Vlt-topmenu__item">
71
+ <a href="/changelogs"><p><b class="Vlt-white">Changelogs</b></p></a>
72
+ </div>
70
73
  </div>
71
74
  </div>
72
75
  </li>
@@ -108,6 +108,9 @@ Rails.application.routes.draw do
108
108
  get '/tags/:slug', to: 'tags#show', as: 'tag'
109
109
  end
110
110
 
111
+ get '/changelogs', to: 'changelogs#index'
112
+ get '/changelogs/:folder/:name', to: 'changelogs#show', as: 'changelog'
113
+
111
114
  get '*unmatched_route', to: 'application#not_found'
112
115
 
113
116
  root 'static#landing'
@@ -1 +1 @@
1
- {"files":{"manifest-b4bf6e57a53c2bdb55b8998cc94cd00883793c1c37c5e5aea3ef6749b4f6d92b.js":{"logical_path":"manifest.js","mtime":"2022-03-31T15:12:41+00:00","size":2,"digest":"75a11da44c802486bc6f65640aa48a730f0f684c5c07a42ba3cd1735eb3fb070","integrity":"sha256-daEdpEyAJIa8b2VkCqSKcw8PaExcB6Qro80XNes/sHA="},"application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js":{"logical_path":"application.js","mtime":"2022-03-31T15:12:41+00:00","size":3172,"digest":"67f1fd16f949c2794341a44cf839e5436bbef74436e043ead39890d1c3b2e583","integrity":"sha256-Z/H9FvlJwnlDQaRM+DnlQ2u+90Q24EPq05iQ0cOy5YM="},"application-e3c324ace3db5c0bf10139460f7f1efb017f04bbeb729bd8d34b308de0852c20.css":{"logical_path":"application.css","mtime":"2022-03-31T15:12:41+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-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,3 +1,3 @@
1
1
  module NexmoDeveloper
2
- VERSION = '0.1.8'.freeze
2
+ VERSION = '0.2.0'.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.1.8
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vonage DevRel
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-31 00:00:00.000000000 Z
11
+ date: 2022-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeadmin
@@ -731,7 +731,7 @@ files:
731
731
  - "./lib/nexmo_developer/public/android-chrome-512x512.png"
732
732
  - "./lib/nexmo_developer/public/apple-touch-icon-precomposed.png"
733
733
  - "./lib/nexmo_developer/public/apple-touch-icon.png"
734
- - "./lib/nexmo_developer/public/assets/.sprockets-manifest-e633f0c6fdf58e70e8d4fbb080ee72da.json"
734
+ - "./lib/nexmo_developer/public/assets/.sprockets-manifest-cff214b66591bfa22956a065f82dde71.json"
735
735
  - "./lib/nexmo_developer/public/assets/application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js"
736
736
  - "./lib/nexmo_developer/public/assets/application-aa88b3c7bd34ec529f43849541752fda7c9c202aa9fff905be578ef88d103b46.js.gz"
737
737
  - "./lib/nexmo_developer/public/assets/application-e3c324ace3db5c0bf10139460f7f1efb017f04bbeb729bd8d34b308de0852c20.css"
@@ -1160,6 +1160,7 @@ files:
1160
1160
  - lib/nexmo_developer/app/controllers/blog/main_controller.rb
1161
1161
  - lib/nexmo_developer/app/controllers/blog/tags_controller.rb
1162
1162
  - lib/nexmo_developer/app/controllers/careers_controller.rb
1163
+ - lib/nexmo_developer/app/controllers/changelogs_controller.rb
1163
1164
  - lib/nexmo_developer/app/controllers/concerns/.keep
1164
1165
  - lib/nexmo_developer/app/controllers/dashboard_controller.rb
1165
1166
  - lib/nexmo_developer/app/controllers/extend_controller.rb
@@ -1178,6 +1179,7 @@ files:
1178
1179
  - lib/nexmo_developer/app/extensions/nokogiri/html/document.rb
1179
1180
  - lib/nexmo_developer/app/helpers/application_helper.rb
1180
1181
  - lib/nexmo_developer/app/helpers/blog_helper.rb
1182
+ - lib/nexmo_developer/app/helpers/changelogs_helper.rb
1181
1183
  - lib/nexmo_developer/app/helpers/date_range_helper.rb
1182
1184
  - lib/nexmo_developer/app/helpers/navigation_helper.rb
1183
1185
  - lib/nexmo_developer/app/helpers/parameter_values_helper.rb
@@ -1282,6 +1284,8 @@ files:
1282
1284
  - lib/nexmo_developer/app/views/blog/categories/show.html.erb
1283
1285
  - lib/nexmo_developer/app/views/blog/tags/show.html.erb
1284
1286
  - lib/nexmo_developer/app/views/careers/index.html.erb
1287
+ - lib/nexmo_developer/app/views/changelogs/index.html.erb
1288
+ - lib/nexmo_developer/app/views/changelogs/show.html.erb
1285
1289
  - lib/nexmo_developer/app/views/code_languages/_icon.html.erb
1286
1290
  - lib/nexmo_developer/app/views/contribute/administration/page-links.md
1287
1291
  - lib/nexmo_developer/app/views/contribute/code-snippets/how-to-update-code-snippets.md