nexmo_markdown_renderer 0.4.0 → 0.4.5
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 +4 -4
- data/README.md +1 -1
- data/config/code_languages.yml +9 -0
- data/lib/nexmo_markdown_renderer.rb +1 -0
- data/lib/nexmo_markdown_renderer/filters/code_snippet/install_dependencies.rb +3 -2
- data/lib/nexmo_markdown_renderer/filters/code_snippet/renderable.rb +2 -0
- data/lib/nexmo_markdown_renderer/filters/code_snippet_filter.rb +1 -1
- data/lib/nexmo_markdown_renderer/filters/code_snippets_filter.rb +2 -1
- data/lib/nexmo_markdown_renderer/filters/markdown_filter.rb +3 -1
- data/lib/nexmo_markdown_renderer/filters/partial_filter.rb +1 -1
- data/lib/nexmo_markdown_renderer/filters/screenshot_filter.rb +1 -1
- data/lib/nexmo_markdown_renderer/filters/tab_filter.rb +3 -3
- data/lib/nexmo_markdown_renderer/filters/utils.rb +3 -3
- data/lib/nexmo_markdown_renderer/models/code_language.rb +7 -3
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/android.rb +1 -1
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/curl.rb +1 -1
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/dotnet.rb +1 -1
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/go.rb +23 -0
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/java.rb +4 -3
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/javascript.rb +1 -1
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/kotlin.rb +1 -1
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/objective_c.rb +1 -1
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/php.rb +1 -1
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/python.rb +1 -1
- data/lib/nexmo_markdown_renderer/services/code_snippet_renderer/ruby.rb +1 -1
- data/lib/nexmo_markdown_renderer/services/doc_finder.rb +2 -2
- data/lib/nexmo_markdown_renderer/views/code_snippets/_application_messages_dispatch.html.erb +4 -4
- data/lib/nexmo_markdown_renderer/views/code_snippets/_application_rtc.html.erb +4 -4
- data/lib/nexmo_markdown_renderer/views/code_snippets/_application_voice.html.erb +4 -4
- data/lib/nexmo_markdown_renderer/views/code_snippets/_configure_client.html.erb +5 -5
- data/lib/nexmo_markdown_renderer/views/code_snippets/_dependencies.html.erb +3 -3
- data/lib/nexmo_markdown_renderer/views/code_snippets/_import_dependencies.html.erb +4 -4
- data/lib/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fed5ac6ec1e55aa65964370c584baa463dbc160d0e27eb649489ce866298f713
|
4
|
+
data.tar.gz: cb14711f686b58901619ed1dea31f171d8283c1afa5eb6413cf8e989a004a421
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 272e32a46296d8273f4242bc3a728c3bb9e6cdb8aeb53a9f8a78dc6ea30d636cb9a41122fa4eea3b1635d0e8e6702bc81b2d2075d957b1e8013b7781994ec7bb
|
7
|
+
data.tar.gz: af90dfafa2ae3c9de263d36edfba57ed6af5a3c16aeb44abfc974fd2856512e0ec84e4d515aff280506a93d5f290f429d58040ecc31adfd4d8117f2867d560de
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Nexmo Markdown Renderer
|
2
2
|
|
3
|
-
|
3
|
+

|
4
4
|
[](./LICENSE.txt)
|
5
5
|
|
6
6
|
This gem facilitates the presentation of markdown documents in a Rails app by applying custom filters for tabs, code snippets, icons, indentation and more. It is used in the [Nexmo Developer Platform](https://developer.nexmo.com).
|
data/config/code_languages.yml
CHANGED
@@ -109,6 +109,15 @@ languages:
|
|
109
109
|
icon: ios
|
110
110
|
dependencies: []
|
111
111
|
|
112
|
+
go:
|
113
|
+
weight: 12
|
114
|
+
label: Go
|
115
|
+
lexer: go
|
116
|
+
icon: curl
|
117
|
+
dependencies:
|
118
|
+
- 'vonage/vonage-go-sdk'
|
119
|
+
run_command: 'go run {filename}'
|
120
|
+
|
112
121
|
platforms:
|
113
122
|
ios:
|
114
123
|
languages:
|
@@ -24,6 +24,7 @@ require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/php'
|
|
24
24
|
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/python'
|
25
25
|
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/ruby'
|
26
26
|
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/swift'
|
27
|
+
require_relative 'nexmo_markdown_renderer/services/code_snippet_renderer/go'
|
27
28
|
|
28
29
|
require_relative 'nexmo_markdown_renderer/services/doc_finder'
|
29
30
|
require_relative 'nexmo_markdown_renderer/services/doc_finder/doc'
|
@@ -5,9 +5,10 @@ module Nexmo
|
|
5
5
|
class InstallDependencies
|
6
6
|
include Renderable
|
7
7
|
|
8
|
-
def initialize(config, snippet)
|
8
|
+
def initialize(config, version, snippet)
|
9
9
|
@config = config
|
10
10
|
@snippet = snippet
|
11
|
+
@version = version
|
11
12
|
end
|
12
13
|
|
13
14
|
def partial
|
@@ -28,7 +29,7 @@ module Nexmo
|
|
28
29
|
def render
|
29
30
|
return '' unless @config
|
30
31
|
|
31
|
-
deps = renderer.dependencies(@config)
|
32
|
+
deps = renderer.dependencies(@config, @version)
|
32
33
|
ERB.new(partial).result(binding)
|
33
34
|
end
|
34
35
|
end
|
@@ -27,7 +27,7 @@ module Nexmo
|
|
27
27
|
end
|
28
28
|
|
29
29
|
def install_dependencies
|
30
|
-
@install_dependencies ||= ::Nexmo::Markdown::Filters::CodeSnippet::InstallDependencies.new(@config['dependencies'], @binding).render
|
30
|
+
@install_dependencies ||= ::Nexmo::Markdown::Filters::CodeSnippet::InstallDependencies.new(@config['dependencies'], @config['version'], @binding).render
|
31
31
|
end
|
32
32
|
|
33
33
|
def import_dependencies
|
@@ -116,7 +116,8 @@ module Nexmo
|
|
116
116
|
content['weight'] ||= defaults.weight
|
117
117
|
content['run_command'] ||= defaults.run_command
|
118
118
|
content['unindent'] = defaults.unindent || false
|
119
|
-
|
119
|
+
content['version'] ||= defaults.version
|
120
|
+
|
120
121
|
# If we don't have a file_name in config, use the one in the repo
|
121
122
|
content['file_name'] ||= File.basename(content['code']['source'])
|
122
123
|
|
@@ -5,7 +5,7 @@ module Nexmo
|
|
5
5
|
input.gsub(/```partial(.+?)```/m) do |_s|
|
6
6
|
config = YAML.safe_load($1)
|
7
7
|
file_path = if config['source'].starts_with? 'app/views'
|
8
|
-
config['source']
|
8
|
+
"#{Rails.root}/#{config['source']}"
|
9
9
|
else
|
10
10
|
"#{Nexmo::Markdown::Config.docs_base_path}/#{config['source']}"
|
11
11
|
end
|
@@ -4,7 +4,7 @@ module Nexmo
|
|
4
4
|
def call(input)
|
5
5
|
input.gsub(/```screenshot(.+?)```/m) do |_s|
|
6
6
|
config = YAML.safe_load($1)
|
7
|
-
if config['image'] && File.file?(config['image'])
|
7
|
+
if config['image'] && File.file?("#{Nexmo::Markdown::Config.docs_base_path}/#{config['image']}")
|
8
8
|
"})"
|
9
9
|
else
|
10
10
|
<<~HEREDOC
|
@@ -10,9 +10,9 @@ module Nexmo
|
|
10
10
|
@config = YAML.safe_load($3)
|
11
11
|
|
12
12
|
if tabbed_folder?
|
13
|
-
raise "#{@config['source']} is not a directory" unless File.directory? "#{
|
13
|
+
raise "#{@config['source']} is not a directory" unless File.directory? "#{@config['source']}"
|
14
14
|
|
15
|
-
@tabbed_config = YAML.safe_load(File.read("#{
|
15
|
+
@tabbed_config = YAML.safe_load(File.read("#{@config['source']}/.config.yml"))
|
16
16
|
@path = @config['source']
|
17
17
|
validate_folder_config
|
18
18
|
else
|
@@ -169,7 +169,7 @@ module Nexmo
|
|
169
169
|
end
|
170
170
|
|
171
171
|
def content_from_folder
|
172
|
-
source_path = "#{
|
172
|
+
source_path = "#{@config['source']}"
|
173
173
|
source_path += '/*.md'
|
174
174
|
|
175
175
|
files = Dir.glob(source_path)
|
@@ -2,8 +2,8 @@ module Nexmo
|
|
2
2
|
module Markdown
|
3
3
|
class Utils
|
4
4
|
def self.generate_source_url(code)
|
5
|
-
# Source example: .repos/
|
6
|
-
# Direct link on GitHub is in form https://github.com/
|
5
|
+
# Source example: .repos/vonage/vonage-java-code-snippets/ExampleClass.java
|
6
|
+
# Direct link on GitHub is in form https://github.com/vonage/vonage-java-code-snippets/blob/master/ExampleClass.java
|
7
7
|
start_section = 'https://github.com'
|
8
8
|
|
9
9
|
# Insert "blob/master" and strip ".repos"
|
@@ -19,7 +19,7 @@ module Nexmo
|
|
19
19
|
line_section += "-L#{code['to_line']}" if code['to_line']
|
20
20
|
else
|
21
21
|
# By default we read to the end of the file
|
22
|
-
line_section += "-L#{File.read(code['source']).lines.count}"
|
22
|
+
line_section += "-L#{File.read("#{Nexmo::Markdown::Config.docs_base_path}/#{code['source']}").lines.count}"
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
@@ -3,8 +3,12 @@ module Nexmo
|
|
3
3
|
class CodeLanguage
|
4
4
|
include ActiveModel::Model
|
5
5
|
attr_accessor :key, :label, :type, :dependencies, :unindent, :icon, :run_command
|
6
|
-
attr_writer :weight, :linkable, :languages, :lexer
|
7
|
-
|
6
|
+
attr_writer :weight, :linkable, :languages, :lexer, :version
|
7
|
+
|
8
|
+
def version
|
9
|
+
@version || nil
|
10
|
+
end
|
11
|
+
|
8
12
|
def weight
|
9
13
|
@weight || 999
|
10
14
|
end
|
@@ -72,7 +76,7 @@ module Nexmo
|
|
72
76
|
end
|
73
77
|
|
74
78
|
private_class_method def self.config
|
75
|
-
@config ||= YAML.load_file(
|
79
|
+
@config ||= YAML.load_file("#{Nexmo::Markdown::Config.docs_base_path}/config/code_languages.yml")
|
76
80
|
end
|
77
81
|
end
|
78
82
|
end
|
@@ -2,7 +2,7 @@ module Nexmo
|
|
2
2
|
module Markdown
|
3
3
|
module CodeSnippetRenderer
|
4
4
|
class Android < Base
|
5
|
-
def self.dependencies(_deps)
|
5
|
+
def self.dependencies(_deps, _version)
|
6
6
|
{
|
7
7
|
'text' => 'See <a href="https://developer.nexmo.com/use-cases/client-sdk-android-add-sdk-to-your-app">How to Add the Nexmo Client SDK to your Android App</a>',
|
8
8
|
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Nexmo
|
2
|
+
module Markdown
|
3
|
+
module CodeSnippetRenderer
|
4
|
+
class Go < Base
|
5
|
+
def self.dependencies(deps, _version)
|
6
|
+
{ 'code' => "go get #{deps.join(' ')}" }
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.run_command(command, _filename, _file_path)
|
10
|
+
::I18n.t('services.code_snippet_renderer.run_command', command: command)
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.create_instructions(filename)
|
14
|
+
::I18n.t('services.code_snippet_renderer.create_instructions', filename: filename)
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.add_instructions(_filename)
|
18
|
+
::I18n.t('services.code_snippet_renderer.add_instructions_to_code')
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -2,16 +2,17 @@ module Nexmo
|
|
2
2
|
module Markdown
|
3
3
|
module CodeSnippetRenderer
|
4
4
|
class Java < Base
|
5
|
-
def self.dependencies(deps)
|
5
|
+
def self.dependencies(deps, version)
|
6
|
+
raise "'version' not provided for Java snippet" unless version
|
6
7
|
{
|
7
8
|
'text' => ::I18n.t('services.code_snippet_renderer.add_instructions_to_file', file: 'build.gradle'),
|
8
|
-
'code' => deps.map { |d| "compile '#{d.gsub('@latest',
|
9
|
+
'code' => deps.map { |d| "compile '#{d.gsub('@latest', version)}'" }.join('<br />'),
|
9
10
|
'type' => 'groovy',
|
10
11
|
}
|
11
12
|
end
|
12
13
|
|
13
14
|
def self.run_command(_command, filename, file_path)
|
14
|
-
package = file_path.gsub('.repos/
|
15
|
+
package = file_path.gsub('.repos/vonage/vonage-java-code-snippets/src/main/java/', '').tr('/', '.').gsub(filename, '')
|
15
16
|
file = filename.gsub('.java', '')
|
16
17
|
main = "#{package}#{filename.gsub('.java', '')}"
|
17
18
|
chomped_package = package.chomp('.')
|
@@ -2,7 +2,7 @@ module Nexmo
|
|
2
2
|
module Markdown
|
3
3
|
module CodeSnippetRenderer
|
4
4
|
class Kotlin < Base
|
5
|
-
def self.dependencies(
|
5
|
+
def self.dependencies(deps, _version)
|
6
6
|
{
|
7
7
|
'text' => 'See <a href="https://developer.nexmo.com/use-cases/client-sdk-android-add-sdk-to-your-app">How to Add the Nexmo Client SDK to your Android App</a>',
|
8
8
|
}
|
@@ -2,7 +2,7 @@ module Nexmo
|
|
2
2
|
module Markdown
|
3
3
|
module CodeSnippetRenderer
|
4
4
|
class ObjectiveC < Base
|
5
|
-
def self.dependencies(_deps)
|
5
|
+
def self.dependencies(_deps, _version)
|
6
6
|
{
|
7
7
|
'text' => 'See <a href="/client-sdk/setup/add-sdk-to-your-app/ios">How to Add the Nexmo Client SDK to your iOS App</a>',
|
8
8
|
}
|
@@ -91,9 +91,9 @@ module Nexmo
|
|
91
91
|
|
92
92
|
def self.load_english
|
93
93
|
paths.each do |path|
|
94
|
-
if path.starts_with?(
|
94
|
+
if defined?(Rails) && path.starts_with?("#{Rails.root}/app/views")
|
95
95
|
Dir["#{path}/**/*.*"].each do |file|
|
96
|
-
dictionary[file][::I18n.default_locale.to_s] = ::I18n.default_locale.to_s
|
96
|
+
dictionary[file.gsub("#{Rails.root}/", '')][::I18n.default_locale.to_s] = ::I18n.default_locale.to_s
|
97
97
|
end
|
98
98
|
else
|
99
99
|
path_with_locale = "#{path}/#{::I18n.default_locale}"
|
data/lib/nexmo_markdown_renderer/views/code_snippets/_application_messages_dispatch.html.erb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
<div class="Vlt-box Vlt-box--lesspadding Nxd-accordion-emphasis">
|
2
|
-
<
|
1
|
+
<div class="Vlt-box Vlt-box--lesspadding Nxd-accordion-emphasis Vlt-accordion">
|
2
|
+
<button class="Vlt-accordion__trigger" data-accordion="acc<%= id %>" tabindex="0">
|
3
3
|
<%= app['use_existing'] ? ::I18n.t('.code_snippets.use_your_app') : ::I18n.t('.code_snippets.create_an_app') %>
|
4
|
-
</
|
4
|
+
</button>
|
5
5
|
|
6
|
-
<div id="acc<%=id %>"
|
6
|
+
<div id="acc<%=id %>" class="Vlt-accordion__content Vlt-accordion__content--noborder">
|
7
7
|
<%= ::I18n.t('.code_snippets.application_messages_dispatch.no_application_html') %>
|
8
8
|
</div>
|
9
9
|
</div>
|
@@ -1,9 +1,9 @@
|
|
1
|
-
<div class="Vlt-box Vlt-box--lesspadding Nxd-accordion-emphasis">
|
2
|
-
<
|
1
|
+
<div class="Vlt-box Vlt-box--lesspadding Nxd-accordion-emphasis Vlt-accordion">
|
2
|
+
<button class="Vlt-accordion__trigger" data-accordion="acc<%= id %>" tabindex="0">
|
3
3
|
<%= ::I18n.t('.code_snippets.create_an_app') %>
|
4
|
-
</
|
4
|
+
</button>
|
5
5
|
|
6
|
-
<div id="acc<%=id %>" class="Vlt-
|
6
|
+
<div id="acc<%=id %>" class="Vlt-accordion__content Vlt-accordion__content--noborder">
|
7
7
|
<p><%= ::I18n.t('.code_snippets.nexmo_application_contains_html') %></p>
|
8
8
|
<h4><%= ::I18n.t('.code_snippets.install_the_cli') %></h4>
|
9
9
|
<pre class="Vlt-prism--dark dependencies command-line Vlt-prism--copy-disabled language-bash" data-prompt='$'><code>npm install -g nexmo-cli</code></pre>
|
@@ -1,9 +1,9 @@
|
|
1
|
-
<div class="Vlt-box Vlt-box--lesspadding Nxd-accordion-emphasis">
|
2
|
-
<
|
1
|
+
<div class="Vlt-box Vlt-box--lesspadding Nxd-accordion-emphasis Vlt-accordion">
|
2
|
+
<button class="Vlt-accordion__trigger" data-accordion="acc<%= id %>" tabindex="0">
|
3
3
|
<%= app['use_existing'] ? ::I18n.t('.code_snippets.use_your_app') : ::I18n.t('.code_snippets.create_an_app') %>
|
4
|
-
</
|
4
|
+
</button>
|
5
5
|
|
6
|
-
<div id="acc<%=id %>"
|
6
|
+
<div id="acc<%=id %>" class="Vlt-accordion__content Vlt-accordion__content--noborder">
|
7
7
|
<% if app['use_existing'] %>
|
8
8
|
<p><%= app['use_existing'] %></p>
|
9
9
|
<% else %>
|
@@ -1,9 +1,9 @@
|
|
1
|
-
<div class="Vlt-box Vlt-box--lesspadding Nxd-accordion-emphasis">
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
<div class="Vlt-box Vlt-box--lesspadding Nxd-accordion-emphasis Vlt-accordion">
|
2
|
+
<button class="Vlt-accordion__trigger" data-accordion="acc<%= id %>" tabindex="0">
|
3
|
+
<%= ::I18n.t('.code_snippets.configure_client.initialize_dependencies') %>
|
4
|
+
</button>
|
5
5
|
|
6
|
-
|
6
|
+
<div id="acc<%=id %>" class="Vlt-accordion__content Vlt-accordion__content--noborder">
|
7
7
|
<%= create_instructions %>
|
8
8
|
<div class="copy-wrapper">
|
9
9
|
|
@@ -1,7 +1,7 @@
|
|
1
|
-
<div class="Vlt-box Vlt-box--lesspadding Nxd-accordion-emphasis">
|
2
|
-
<
|
1
|
+
<div class="Vlt-box Vlt-box--lesspadding Vlt-accordion Nxd-accordion-emphasis">
|
2
|
+
<button class="Vlt-accordion__trigger" data-accordion="acc<%= id %>" tabindex="0"><%= title %></button>
|
3
3
|
|
4
|
-
<div id="acc<%= id %>" class="Vlt-
|
4
|
+
<div id="acc<%= id %>" class="Vlt-accordion__content Vlt-accordion__content--noborder">
|
5
5
|
<p><%=deps['text']%></p>
|
6
6
|
<% if deps['code'] %>
|
7
7
|
<pre class="Vlt-prism--dark language-<%= deps['type'] || 'bash' %> dependencies command-line Vlt-prism--copy-disabled" data-prompt='$'><code><%=deps['code']%></code></pre>
|
@@ -1,9 +1,9 @@
|
|
1
|
-
<div class="Vlt-box Vlt-box--lesspadding Nxd-accordion-emphasis">
|
2
|
-
<
|
1
|
+
<div class="Vlt-box Vlt-box--lesspadding Nxd-accordion-emphasis Vlt-accordion">
|
2
|
+
<button class="Vlt-accordion__trigger" data-accordion="acc<%= id %>" tabindex="0">
|
3
3
|
<%= ::I18n.t('.code_snippets.configure_client.import_dependencies') %>
|
4
|
-
</
|
4
|
+
</button>
|
5
5
|
|
6
|
-
<div id="acc<%=id %>"
|
6
|
+
<div id="acc<%=id %>" class="Vlt-accordion__content Vlt-accordion__content--noborder">
|
7
7
|
<%= create_instructions %>
|
8
8
|
<div class="copy-wrapper">
|
9
9
|
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nexmo_markdown_renderer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nexmo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: banzai
|
@@ -297,6 +297,7 @@ files:
|
|
297
297
|
- lib/nexmo_markdown_renderer/services/code_snippet_renderer/base.rb
|
298
298
|
- lib/nexmo_markdown_renderer/services/code_snippet_renderer/curl.rb
|
299
299
|
- lib/nexmo_markdown_renderer/services/code_snippet_renderer/dotnet.rb
|
300
|
+
- lib/nexmo_markdown_renderer/services/code_snippet_renderer/go.rb
|
300
301
|
- lib/nexmo_markdown_renderer/services/code_snippet_renderer/java.rb
|
301
302
|
- lib/nexmo_markdown_renderer/services/code_snippet_renderer/javascript.rb
|
302
303
|
- lib/nexmo_markdown_renderer/services/code_snippet_renderer/kotlin.rb
|
@@ -344,7 +345,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
344
345
|
- !ruby/object:Gem::Version
|
345
346
|
version: '0'
|
346
347
|
requirements: []
|
347
|
-
rubygems_version: 3.
|
348
|
+
rubygems_version: 3.1.4
|
348
349
|
signing_key:
|
349
350
|
specification_version: 4
|
350
351
|
summary: Middleware to render Markdown Documents in Nexmo Developer Platform.
|