nexmo-oas-renderer 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +7 -0
  2. data/.env.example +1 -0
  3. data/.github/workflows/push-docker-publish.yml +19 -0
  4. data/.gitignore +6 -0
  5. data/.rspec +1 -0
  6. data/.rubocop.yml +135 -0
  7. data/.travis.yml +9 -0
  8. data/CHANGELOG.md +58 -0
  9. data/CONTRIBUTING.md +46 -0
  10. data/Dockerfile +6 -0
  11. data/Gemfile +6 -0
  12. data/Gemfile.lock +248 -0
  13. data/LICENSE.txt +21 -0
  14. data/README.md +103 -0
  15. data/Rakefile +2 -0
  16. data/bin/console +14 -0
  17. data/bin/setup +8 -0
  18. data/exe/nexmo-oas-renderer +5 -0
  19. data/lib/nexmo/oas/engine.rb +11 -0
  20. data/lib/nexmo/oas/renderer.rb +13 -0
  21. data/lib/nexmo/oas/renderer/app.rb +201 -0
  22. data/lib/nexmo/oas/renderer/config.ru +9 -0
  23. data/lib/nexmo/oas/renderer/config/code_languages.yml +138 -0
  24. data/lib/nexmo/oas/renderer/config/dynamic_content.yml +1 -0
  25. data/lib/nexmo/oas/renderer/decorators/response_parser_decorator.rb +55 -0
  26. data/lib/nexmo/oas/renderer/helpers/navigation.rb +66 -0
  27. data/lib/nexmo/oas/renderer/helpers/render.rb +25 -0
  28. data/lib/nexmo/oas/renderer/helpers/summary.rb +33 -0
  29. data/lib/nexmo/oas/renderer/helpers/url.rb +19 -0
  30. data/lib/nexmo/oas/renderer/presenters/api_specification.rb +54 -0
  31. data/lib/nexmo/oas/renderer/presenters/endpoint.rb +21 -0
  32. data/lib/nexmo/oas/renderer/presenters/groups.rb +39 -0
  33. data/lib/nexmo/oas/renderer/presenters/navigation.rb +26 -0
  34. data/lib/nexmo/oas/renderer/presenters/open_api_specification.rb +62 -0
  35. data/lib/nexmo/oas/renderer/presenters/request_body_raw.rb +141 -0
  36. data/lib/nexmo/oas/renderer/presenters/response_format.rb +29 -0
  37. data/lib/nexmo/oas/renderer/presenters/response_tab/link.rb +36 -0
  38. data/lib/nexmo/oas/renderer/presenters/response_tab/panel.rb +45 -0
  39. data/lib/nexmo/oas/renderer/presenters/response_tabs.rb +58 -0
  40. data/lib/nexmo/oas/renderer/presenters/versions.rb +51 -0
  41. data/lib/nexmo/oas/renderer/public/500.html +66 -0
  42. data/lib/nexmo/oas/renderer/public/assets/images/brands/android.svg +1 -0
  43. data/lib/nexmo/oas/renderer/public/assets/images/brands/curl.svg +1 -0
  44. data/lib/nexmo/oas/renderer/public/assets/images/brands/dotnet.svg +1 -0
  45. data/lib/nexmo/oas/renderer/public/assets/images/brands/ios.svg +1 -0
  46. data/lib/nexmo/oas/renderer/public/assets/images/brands/java.svg +1 -0
  47. data/lib/nexmo/oas/renderer/public/assets/images/brands/javascript.svg +1 -0
  48. data/lib/nexmo/oas/renderer/public/assets/images/brands/node.svg +1 -0
  49. data/lib/nexmo/oas/renderer/public/assets/images/brands/php.svg +1 -0
  50. data/lib/nexmo/oas/renderer/public/assets/images/brands/python.svg +11 -0
  51. data/lib/nexmo/oas/renderer/public/assets/images/brands/ruby.svg +1 -0
  52. data/lib/nexmo/oas/renderer/public/assets/images/lost.svg +37 -0
  53. data/lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js +47 -0
  54. data/lib/nexmo/oas/renderer/public/assets/javascripts/nexmo-oas-renderer.js +65 -0
  55. data/lib/nexmo/oas/renderer/public/assets/javascripts/popper.min.js +5 -0
  56. data/lib/nexmo/oas/renderer/public/assets/javascripts/prism.js +22 -0
  57. data/lib/nexmo/oas/renderer/public/assets/javascripts/tooltip.min.js +5 -0
  58. data/lib/nexmo/oas/renderer/public/assets/javascripts/volta.accordion.js +307 -0
  59. data/lib/nexmo/oas/renderer/public/assets/javascripts/volta.core.js +230 -0
  60. data/lib/nexmo/oas/renderer/public/assets/javascripts/volta.modal.js +300 -0
  61. data/lib/nexmo/oas/renderer/public/assets/javascripts/volta.tabs.js +143 -0
  62. data/lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js +76 -0
  63. data/lib/nexmo/oas/renderer/public/assets/stylesheets/nexmo-oas-renderer.css +287 -0
  64. data/lib/nexmo/oas/renderer/public/assets/stylesheets/nexmo-oas-renderer.css.map +7 -0
  65. data/lib/nexmo/oas/renderer/public/assets/stylesheets/sass/api.scss +341 -0
  66. data/lib/nexmo/oas/renderer/public/assets/stylesheets/sass/mediaqueries.scss +48 -0
  67. data/lib/nexmo/oas/renderer/public/assets/stylesheets/sass/style.scss +6 -0
  68. data/lib/nexmo/oas/renderer/public/assets/stylesheets/sass/themes/dark.scss +89 -0
  69. data/lib/nexmo/oas/renderer/public/assets/stylesheets/sass/themes/light.scss +68 -0
  70. data/lib/nexmo/oas/renderer/public/assets/stylesheets/sass/variables.scss +91 -0
  71. data/lib/nexmo/oas/renderer/public/assets/stylesheets/volta-prism.min.css +1 -0
  72. data/lib/nexmo/oas/renderer/public/assets/stylesheets/volta.min.css +1 -0
  73. data/lib/nexmo/oas/renderer/public/assets/symbol/volta-icons.svg +1 -0
  74. data/lib/nexmo/oas/renderer/public/favicon.ico +0 -0
  75. data/lib/nexmo/oas/renderer/public/fonts/Spezia-Regular.eot +0 -0
  76. data/lib/nexmo/oas/renderer/public/fonts/Spezia-Regular.ttf +0 -0
  77. data/lib/nexmo/oas/renderer/public/fonts/Spezia-Regular.woff +0 -0
  78. data/lib/nexmo/oas/renderer/public/fonts/Spezia-Regular.woff2 +0 -0
  79. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiBold.eot +0 -0
  80. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiBold.ttf +0 -0
  81. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiBold.woff +0 -0
  82. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiBold.woff2 +0 -0
  83. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiMonoSemiBold.eot +0 -0
  84. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiMonoSemiBold.ttf +0 -0
  85. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiMonoSemiBold.woff +0 -0
  86. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiMonoSemiBold.woff2 +0 -0
  87. data/lib/nexmo/oas/renderer/public/fonts/Spezia-WideMedium.eot +0 -0
  88. data/lib/nexmo/oas/renderer/public/fonts/Spezia-WideMedium.ttf +0 -0
  89. data/lib/nexmo/oas/renderer/public/fonts/Spezia-WideMedium.woff +0 -0
  90. data/lib/nexmo/oas/renderer/public/fonts/Spezia-WideMedium.woff2 +0 -0
  91. data/lib/nexmo/oas/renderer/services/oas_parser.rb +23 -0
  92. data/lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb +35 -0
  93. data/lib/nexmo/oas/renderer/version.rb +9 -0
  94. data/lib/nexmo/oas/renderer/views/api/index.erb +19 -0
  95. data/lib/nexmo/oas/renderer/views/api/show.erb +1 -0
  96. data/lib/nexmo/oas/renderer/views/concepts/list/plain.html.erb +5 -0
  97. data/lib/nexmo/oas/renderer/views/layouts/_head.erb +6 -0
  98. data/lib/nexmo/oas/renderer/views/layouts/_javascripts.erb +14 -0
  99. data/lib/nexmo/oas/renderer/views/layouts/api.erb +23 -0
  100. data/lib/nexmo/oas/renderer/views/layouts/open_api.erb +12 -0
  101. data/lib/nexmo/oas/renderer/views/open_api/_auth.erb +74 -0
  102. data/lib/nexmo/oas/renderer/views/open_api/_available_endpoints.erb +25 -0
  103. data/lib/nexmo/oas/renderer/views/open_api/_callback.erb +5 -0
  104. data/lib/nexmo/oas/renderer/views/open_api/_callback_endpoint.erb +38 -0
  105. data/lib/nexmo/oas/renderer/views/open_api/_callbacks.erb +5 -0
  106. data/lib/nexmo/oas/renderer/views/open_api/_code_examples.erb +16 -0
  107. data/lib/nexmo/oas/renderer/views/open_api/_endpoint.erb +54 -0
  108. data/lib/nexmo/oas/renderer/views/open_api/_header.erb +71 -0
  109. data/lib/nexmo/oas/renderer/views/open_api/_model.erb +43 -0
  110. data/lib/nexmo/oas/renderer/views/open_api/_navigation.erb +68 -0
  111. data/lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb +56 -0
  112. data/lib/nexmo/oas/renderer/views/open_api/_parameters.erb +115 -0
  113. data/lib/nexmo/oas/renderer/views/open_api/_request_json.erb +4 -0
  114. data/lib/nexmo/oas/renderer/views/open_api/_request_one_of.erb +70 -0
  115. data/lib/nexmo/oas/renderer/views/open_api/_request_single.erb +53 -0
  116. data/lib/nexmo/oas/renderer/views/open_api/_requests.erb +22 -0
  117. data/lib/nexmo/oas/renderer/views/open_api/_response_description_parameters.erb +130 -0
  118. data/lib/nexmo/oas/renderer/views/open_api/_response_descriptions.erb +45 -0
  119. data/lib/nexmo/oas/renderer/views/open_api/_response_fields.erb +3 -0
  120. data/lib/nexmo/oas/renderer/views/open_api/_response_tabs.erb +18 -0
  121. data/lib/nexmo/oas/renderer/views/open_api/_responses.erb +51 -0
  122. data/lib/nexmo/oas/renderer/views/open_api/_tabbed_parameters.erb +64 -0
  123. data/lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb +56 -0
  124. data/lib/nexmo/oas/renderer/views/open_api/_webhooks.erb +30 -0
  125. data/lib/nexmo/oas/renderer/views/open_api/show.erb +26 -0
  126. data/lib/nexmo/oas/renderer/views/static/404.erb +6 -0
  127. data/nexmo-oas-renderer.gemspec +51 -0
  128. metadata +397 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 91aab3edd9be633271fd990e068b50382b9084e487c7cfd305fe02f0ac47158b
4
+ data.tar.gz: e5fb1777e48e43054d461fceabdf0ce7786211303fcf468e5e8057e6ebaaa1db
5
+ SHA512:
6
+ metadata.gz: 8077595864ec381244b429efdcb6b87013d469d8f1c69ef81c83ba5d3891274259150ee8cec94c8b66a249ab301dff2c7e73d951da85f70f766983867fd7d93d
7
+ data.tar.gz: 14bd51335bbb81fbe9a3d7c11ffbb234eafda74e11f3436bf280a51996d8e1deb3536561f40cbb207586cb6c1bd1ed9da3585f57ea07df10b8a899c6203a0420
@@ -0,0 +1 @@
1
+ OAS_PATH='../api-specification'
@@ -0,0 +1,19 @@
1
+ name: Publish Docker
2
+ on:
3
+ push:
4
+ branches:
5
+ - master
6
+ tags:
7
+ - '*'
8
+ jobs:
9
+ build:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@master
13
+ - name: Publish to Registry
14
+ uses: elgohr/Publish-Docker-Github-Action@master
15
+ with:
16
+ name: nexmodev/nexmo-oas-renderer
17
+ username: ${{ secrets.DOCKER_USERNAME }}
18
+ password: ${{ secrets.DOCKER_PASSWORD }}
19
+ tag_names: true
@@ -0,0 +1,6 @@
1
+ .DS_Store
2
+ .sass-cache/
3
+ .byebug_history
4
+ lib/nexmo/oas/renderer/public/assets/stylesheets/sass/*.css
5
+ lib/nexmo/oas/renderer/public/assets/stylesheets/sass/*.css.map
6
+ .env
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
@@ -0,0 +1,135 @@
1
+ AllCops:
2
+ Exclude:
3
+ - 'node_modules/**/*'
4
+ - 'vendor/**/*'
5
+ - '.vendor/**/*'
6
+ - '.git/**/*'
7
+
8
+ # Temporarily disabled until we can refactor
9
+ Metrics/BlockLength:
10
+ Enabled: false
11
+
12
+ Metrics/ClassLength:
13
+ Enabled: false
14
+
15
+ Metrics/ModuleLength:
16
+ Enabled: false
17
+
18
+ # Always enabled
19
+ Style/FrozenStringLiteralComment:
20
+ Enabled: false
21
+
22
+ Layout/LineLength:
23
+ Enabled: false
24
+
25
+ Style/TrailingCommaInArrayLiteral:
26
+ EnforcedStyleForMultiline: comma
27
+
28
+ Style/TrailingCommaInHashLiteral:
29
+ EnforcedStyleForMultiline: comma
30
+
31
+ Style/BlockComments:
32
+ Enabled: false
33
+
34
+ Layout/ParameterAlignment:
35
+ Enabled: false
36
+
37
+ Style/Documentation:
38
+ Enabled: false
39
+
40
+ Layout/FirstHashElementIndentation:
41
+ Enabled: false
42
+
43
+ Style/NumericLiterals:
44
+ Enabled: false
45
+
46
+ Metrics/MethodLength:
47
+ Enabled: false
48
+
49
+ Metrics/AbcSize:
50
+ Enabled: false
51
+
52
+ Style/RedundantInterpolation:
53
+ Enabled: false
54
+
55
+ Style/WordArray:
56
+ Enabled: false
57
+
58
+ Style/PerlBackrefs:
59
+ Enabled: false
60
+
61
+ Style/TernaryParentheses:
62
+ Enabled: false
63
+
64
+ Metrics/PerceivedComplexity:
65
+ Enabled: false
66
+
67
+ Metrics/CyclomaticComplexity:
68
+ Enabled: false
69
+
70
+ Style/AsciiComments:
71
+ Enabled: false
72
+
73
+ Style/Next:
74
+ Enabled: false
75
+
76
+ Style/ConditionalAssignment:
77
+ Enabled: false
78
+
79
+ Style/DoubleNegation:
80
+ Enabled: false
81
+
82
+ Lint/NonDeterministicRequireOrder:
83
+ Enabled: false
84
+
85
+ Layout/AccessModifierIndentation:
86
+ Enabled: false
87
+
88
+ Style/IfUnlessModifier:
89
+ Enabled: false
90
+
91
+ Style/ClassAndModuleChildren:
92
+ Enabled: false
93
+
94
+ Style/HashEachMethods:
95
+ Enabled: true
96
+
97
+ Style/HashTransformKeys:
98
+ Enabled: true
99
+
100
+ Style/HashTransformValues:
101
+ Enabled: true
102
+
103
+ Layout/SpaceAroundMethodCallOperator:
104
+ Enabled: true
105
+
106
+ Lint/RaiseException:
107
+ Enabled: true
108
+
109
+ Lint/StructNewOverride:
110
+ Enabled: true
111
+
112
+ Style/ExponentialNotation:
113
+ Enabled: false
114
+
115
+ Layout/EmptyLinesAroundAttributeAccessor:
116
+ Enabled: true
117
+
118
+ Style/SlicingWithRange:
119
+ Enabled: true
120
+
121
+ Lint/DeprecatedOpenSSLConstant:
122
+ Enabled: true
123
+
124
+ Lint/MixedRegexpCaptureTypes:
125
+ Enabled: true
126
+
127
+ Style/RedundantRegexpCharacterClass:
128
+ Enabled: true
129
+
130
+ Style/RedundantRegexpEscape:
131
+ Enabled: true
132
+
133
+ Style/RedundantFetchBlock:
134
+ Enabled: true
135
+
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ cache: bundler
3
+ rvm:
4
+ - 2.5
5
+ - 2.6
6
+ - 2.7
7
+ script:
8
+ - bundle exec rspec
9
+ - bundle exec rubocop
@@ -0,0 +1,58 @@
1
+ # 0.11.3
2
+ * Change oas url constructor to be entire config parameter and not only partial
3
+ * Bump websocket-extensions, fixes CVE-2020-7663
4
+ * Bump rails, fixes CVE-2020-8165, CVE-2020-8164, CVE-2020-8162
5
+
6
+ # 0.11.2
7
+ * Add instructions for docker on windows #68
8
+ * Add nested array rendering support
9
+
10
+ # 0.11.1
11
+ * Bump nexmo-markdown-renderer to v0.3
12
+
13
+ # 0.11.0
14
+ * Add ability to customize OAS github's repo
15
+
16
+ # 0.9.0
17
+ * Use volta2 styles
18
+
19
+ # 0.8.0
20
+ * Fix an issue when the description is `nil`
21
+ * Include nexmo-markdown-renderer
22
+ * Remove white box surrounding HTTP responses
23
+ * Allow multi-depth `oneOf` definitions
24
+ * Render endpoint's description as markdown
25
+
26
+ # 0.7.1
27
+ * Use schema's description when there isn't one at the parameter level
28
+
29
+ # 0.7.0
30
+ * Prevent sinatra from showing error traces, use custom 500 page instead
31
+ * Bump oas_parser to version 0.23.0. Ensures interoperability between JSON and YAML formats by forcing keys to be strings
32
+
33
+ # 0.6.6
34
+ * Make tabs clickable
35
+
36
+ # 0.6.5
37
+ * Fix rendering of different versions
38
+
39
+ # 0.6.4
40
+ * Render required tag for oneOf request bodies
41
+
42
+ # 0.6.3
43
+ * Remove the need to have a `definitions` folder, just specify the correct path in `OAS_PATH`
44
+ * Remove OAS constraints, since they are not needed to run this standalone
45
+
46
+ # 0.6.0
47
+ * Upgraded to Rails 6
48
+
49
+ # 0.5.6
50
+ * Add `reports` to open_api docs' constraints
51
+ * Make tab selection with `x-tab-id` trigger all tabs (support for request bodies)
52
+ * Remove CSS styling for tutorial links
53
+
54
+ # 0.5.5
55
+ * Add `vonage-business-cloud/reports` to open_api docs' constraints
56
+
57
+ # 0.1.0
58
+ * First version!
@@ -0,0 +1,46 @@
1
+ # Contributing
2
+
3
+ Thanks for considering contributing to Nexmo OAS Renderer! From typos, to sample code, tutorials and beyond, we truly appreciate and welcome input from everyone.
4
+
5
+ You can read all about our markdown additions, writing style guide and standard placeholders on our [Contributing page](https://developer.nexmo.com/contribute/overview). Once you have a change to share with us, read on ...
6
+
7
+ ## Git process
8
+
9
+ This project uses [GitHub Flow](https://guides.github.com/introduction/flow/index.html). We are happy to have issues opened for discussion, but we don't require an issue to be created before a pull request is opened. When you have a change you want us to consider:
10
+
11
+ * Create a new branch on your own fork, from an up-to-date master branch.
12
+ * Make the changes on that new branch.
13
+ * Open a pull request for us, making sure to tell us what you changed and why in the pull request title and description. Pull requests without a meaningful title and a completed template may be closed.
14
+
15
+ If you need more information about how to do any of the above, we recommend the [GitHub Help pages](https://help.github.com/), which are indeed very helpful.
16
+
17
+ Tips:
18
+
19
+ * Keep it small! Small changes are easy to review and more likely to be accepted. More involved changes probably need discussion first.
20
+ * Tell us _what_ changed and _why_. This helps us to understand the change and get the right people to review it.
21
+
22
+ ### For maintainers/reviewers
23
+
24
+ * If you know who can review a particular pull request, tag those people. Tagging a few can be useful as we're in different timezones and can often be travelling.
25
+ * Review with an eye to accuracy and maintainability as well as correctness. Ask yourself "do we want this change?" and "will users find this information here, could it be added to existing docs?" as well as "is everything spelled correctly?"
26
+ * Before accepting a change, check that the markdown renders as expected, and the code runs ... this probably means either pulling the code down to your development platform or deploying a review application.
27
+ * If changes are needed, then either:
28
+ - make the changes yourself (especially for minor or editorial changes).
29
+ - set your review as "changes requested" and comment for what is needed to make this pull request ready to accept.
30
+ * If everything is good then go ahead and approve the pull request.
31
+ * Now merge the pull request! If the change is good to go, then it should go (unless there are special circumstances of course). In the main, anyone can merge an accepted pull request at the earliest opportunity.
32
+ * Delete the branch if it's on our repo.
33
+
34
+ ## Work in Progress [WIP]
35
+
36
+ * Please feel free to open a pull request when you are at the early stages of working on something. Put "[WIP]" in the title so we know it's not ready yet.
37
+ * Work in progress has a cost, merging things that have been branched for a long time can be harder work and cause more issues than smaller changes that can be completed quickly. Please consider whether to start a task that you can't finish in the time you have available.
38
+ * Inactive pull requests will be closed. When you are ready to complete the work, please rebase your branch and open a new pull request.
39
+
40
+ ## GitHub Pull Request Labels
41
+
42
+ We use a few different labels for our pull request workflows:
43
+
44
+ * `don't merge` for things that might need external review, or where it needs to be merged on a specific date, or to clearly note that things are not ready yet!
45
+ * `help wanted` when anyone is welcome to dive in.
46
+ * `stale` when the pull request is abandoned and will soon be closed.
@@ -0,0 +1,6 @@
1
+ FROM ruby:2.6
2
+ COPY . /
3
+ RUN gem install bundler
4
+ RUN bundle install
5
+ EXPOSE 4567
6
+ ENTRYPOINT ["bundle", "exec", "/exe/nexmo-oas-renderer"]
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in nexmo-oas-renderer.gemspec
4
+ gemspec
5
+
6
+ gem 'rails', '~> 6.0.3'
@@ -0,0 +1,248 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ nexmo-oas-renderer (2.1.1)
5
+ activemodel (~> 6.0)
6
+ activesupport (~> 6.0)
7
+ banzai (~> 0.1.2)
8
+ dotenv (~> 2.7)
9
+ neatjson (~> 0.8)
10
+ nexmo_markdown_renderer (~> 0.3)
11
+ oas_parser (~> 0.25.1)
12
+ octicons_helper (~> 8.2)
13
+ redcarpet (= 3.4.0)
14
+ sass (~> 3.1)
15
+ shotgun (~> 0.9)
16
+ sinatra (~> 2.0)
17
+
18
+ GEM
19
+ remote: https://rubygems.org/
20
+ specs:
21
+ actioncable (6.0.3.2)
22
+ actionpack (= 6.0.3.2)
23
+ nio4r (~> 2.0)
24
+ websocket-driver (>= 0.6.1)
25
+ actionmailbox (6.0.3.2)
26
+ actionpack (= 6.0.3.2)
27
+ activejob (= 6.0.3.2)
28
+ activerecord (= 6.0.3.2)
29
+ activestorage (= 6.0.3.2)
30
+ activesupport (= 6.0.3.2)
31
+ mail (>= 2.7.1)
32
+ actionmailer (6.0.3.2)
33
+ actionpack (= 6.0.3.2)
34
+ actionview (= 6.0.3.2)
35
+ activejob (= 6.0.3.2)
36
+ mail (~> 2.5, >= 2.5.4)
37
+ rails-dom-testing (~> 2.0)
38
+ actionpack (6.0.3.2)
39
+ actionview (= 6.0.3.2)
40
+ activesupport (= 6.0.3.2)
41
+ rack (~> 2.0, >= 2.0.8)
42
+ rack-test (>= 0.6.3)
43
+ rails-dom-testing (~> 2.0)
44
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
45
+ actiontext (6.0.3.2)
46
+ actionpack (= 6.0.3.2)
47
+ activerecord (= 6.0.3.2)
48
+ activestorage (= 6.0.3.2)
49
+ activesupport (= 6.0.3.2)
50
+ nokogiri (>= 1.8.5)
51
+ actionview (6.0.3.2)
52
+ activesupport (= 6.0.3.2)
53
+ builder (~> 3.1)
54
+ erubi (~> 1.4)
55
+ rails-dom-testing (~> 2.0)
56
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
57
+ activejob (6.0.3.2)
58
+ activesupport (= 6.0.3.2)
59
+ globalid (>= 0.3.6)
60
+ activemodel (6.0.3.2)
61
+ activesupport (= 6.0.3.2)
62
+ activerecord (6.0.3.2)
63
+ activemodel (= 6.0.3.2)
64
+ activesupport (= 6.0.3.2)
65
+ activestorage (6.0.3.2)
66
+ actionpack (= 6.0.3.2)
67
+ activejob (= 6.0.3.2)
68
+ activerecord (= 6.0.3.2)
69
+ marcel (~> 0.3.1)
70
+ activesupport (6.0.3.2)
71
+ concurrent-ruby (~> 1.0, >= 1.0.2)
72
+ i18n (>= 0.7, < 2)
73
+ minitest (~> 5.1)
74
+ tzinfo (~> 1.1)
75
+ zeitwerk (~> 2.2, >= 2.2.2)
76
+ addressable (2.7.0)
77
+ public_suffix (>= 2.0.2, < 5.0)
78
+ ast (2.4.1)
79
+ banzai (0.1.3)
80
+ builder (3.2.4)
81
+ concurrent-ruby (1.1.6)
82
+ crass (1.0.6)
83
+ deep_merge (1.2.1)
84
+ diff-lcs (1.4.2)
85
+ dotenv (2.7.6)
86
+ erubi (1.9.0)
87
+ ffi (1.13.1)
88
+ globalid (0.4.2)
89
+ activesupport (>= 4.2.0)
90
+ hansi (0.2.0)
91
+ hash-deep-merge (0.1.1)
92
+ i18n (1.8.3)
93
+ concurrent-ruby (~> 1.0)
94
+ loofah (2.6.0)
95
+ crass (~> 1.0.2)
96
+ nokogiri (>= 1.5.9)
97
+ mail (2.7.1)
98
+ mini_mime (>= 0.1.1)
99
+ marcel (0.3.3)
100
+ mimemagic (~> 0.3.2)
101
+ method_source (1.0.0)
102
+ mimemagic (0.3.5)
103
+ mini_mime (1.0.2)
104
+ mini_portile2 (2.4.0)
105
+ minitest (5.14.1)
106
+ mustermann (1.1.1)
107
+ ruby2_keywords (~> 0.0.1)
108
+ mustermann-contrib (1.1.1)
109
+ hansi (~> 0.2.0)
110
+ mustermann (= 1.1.1)
111
+ neatjson (0.9)
112
+ nexmo_markdown_renderer (0.4.1)
113
+ activemodel (~> 6.0)
114
+ banzai (~> 0.1.2)
115
+ i18n (~> 1.7)
116
+ nokogiri (~> 1.10)
117
+ octicons_helper (~> 8.2)
118
+ redcarpet (~> 3.4)
119
+ rouge (~> 2.0.7)
120
+ nio4r (2.5.2)
121
+ nokogiri (1.10.9)
122
+ mini_portile2 (~> 2.4.0)
123
+ oas_parser (0.25.1)
124
+ activesupport (>= 4.0.0)
125
+ addressable (~> 2.3)
126
+ builder (~> 3.2.3)
127
+ deep_merge (~> 1.2.1)
128
+ hash-deep-merge
129
+ mustermann-contrib (~> 1.1.1)
130
+ nokogiri
131
+ octicons (8.5.0)
132
+ nokogiri (>= 1.6.3.1)
133
+ octicons_helper (8.5.0)
134
+ octicons (= 8.5.0)
135
+ rails
136
+ parallel (1.19.2)
137
+ parser (2.7.1.4)
138
+ ast (~> 2.4.1)
139
+ public_suffix (4.0.5)
140
+ rack (2.2.3)
141
+ rack-protection (2.0.8.1)
142
+ rack
143
+ rack-test (1.1.0)
144
+ rack (>= 1.0, < 3)
145
+ rails (6.0.3.2)
146
+ actioncable (= 6.0.3.2)
147
+ actionmailbox (= 6.0.3.2)
148
+ actionmailer (= 6.0.3.2)
149
+ actionpack (= 6.0.3.2)
150
+ actiontext (= 6.0.3.2)
151
+ actionview (= 6.0.3.2)
152
+ activejob (= 6.0.3.2)
153
+ activemodel (= 6.0.3.2)
154
+ activerecord (= 6.0.3.2)
155
+ activestorage (= 6.0.3.2)
156
+ activesupport (= 6.0.3.2)
157
+ bundler (>= 1.3.0)
158
+ railties (= 6.0.3.2)
159
+ sprockets-rails (>= 2.0.0)
160
+ rails-dom-testing (2.0.3)
161
+ activesupport (>= 4.2.0)
162
+ nokogiri (>= 1.6)
163
+ rails-html-sanitizer (1.3.0)
164
+ loofah (~> 2.3)
165
+ railties (6.0.3.2)
166
+ actionpack (= 6.0.3.2)
167
+ activesupport (= 6.0.3.2)
168
+ method_source
169
+ rake (>= 0.8.7)
170
+ thor (>= 0.20.3, < 2.0)
171
+ rainbow (3.0.0)
172
+ rake (13.0.1)
173
+ rb-fsevent (0.10.4)
174
+ rb-inotify (0.10.1)
175
+ ffi (~> 1.0)
176
+ redcarpet (3.4.0)
177
+ regexp_parser (1.7.1)
178
+ rexml (3.2.4)
179
+ rouge (2.0.7)
180
+ rspec (3.9.0)
181
+ rspec-core (~> 3.9.0)
182
+ rspec-expectations (~> 3.9.0)
183
+ rspec-mocks (~> 3.9.0)
184
+ rspec-core (3.9.2)
185
+ rspec-support (~> 3.9.3)
186
+ rspec-expectations (3.9.2)
187
+ diff-lcs (>= 1.2.0, < 2.0)
188
+ rspec-support (~> 3.9.0)
189
+ rspec-mocks (3.9.1)
190
+ diff-lcs (>= 1.2.0, < 2.0)
191
+ rspec-support (~> 3.9.0)
192
+ rspec-support (3.9.3)
193
+ rubocop (0.86.0)
194
+ parallel (~> 1.10)
195
+ parser (>= 2.7.0.1)
196
+ rainbow (>= 2.2.2, < 4.0)
197
+ regexp_parser (>= 1.7)
198
+ rexml
199
+ rubocop-ast (>= 0.0.3, < 1.0)
200
+ ruby-progressbar (~> 1.7)
201
+ unicode-display_width (>= 1.4.0, < 2.0)
202
+ rubocop-ast (0.1.0)
203
+ parser (>= 2.7.0.1)
204
+ ruby-progressbar (1.10.1)
205
+ ruby2_keywords (0.0.2)
206
+ sass (3.7.4)
207
+ sass-listen (~> 4.0.0)
208
+ sass-listen (4.0.0)
209
+ rb-fsevent (~> 0.9, >= 0.9.4)
210
+ rb-inotify (~> 0.9, >= 0.9.7)
211
+ shotgun (0.9.2)
212
+ rack (>= 1.0)
213
+ sinatra (2.0.8.1)
214
+ mustermann (~> 1.0)
215
+ rack (~> 2.0)
216
+ rack-protection (= 2.0.8.1)
217
+ tilt (~> 2.0)
218
+ sprockets (4.0.2)
219
+ concurrent-ruby (~> 1.0)
220
+ rack (> 1, < 3)
221
+ sprockets-rails (3.2.1)
222
+ actionpack (>= 4.0)
223
+ activesupport (>= 4.0)
224
+ sprockets (>= 3.0.0)
225
+ thor (1.0.1)
226
+ thread_safe (0.3.6)
227
+ tilt (2.0.10)
228
+ tzinfo (1.2.7)
229
+ thread_safe (~> 0.1)
230
+ unicode-display_width (1.7.0)
231
+ websocket-driver (0.7.2)
232
+ websocket-extensions (>= 0.1.0)
233
+ websocket-extensions (0.1.5)
234
+ zeitwerk (2.3.1)
235
+
236
+ PLATFORMS
237
+ ruby
238
+
239
+ DEPENDENCIES
240
+ bundler (~> 2.0)
241
+ nexmo-oas-renderer!
242
+ rails (~> 6.0.3)
243
+ rake (~> 13.0)
244
+ rspec (~> 3.8)
245
+ rubocop (~> 0.86)
246
+
247
+ BUNDLED WITH
248
+ 2.1.4