mirror of
https://github.com/ditkrg/rswag.git
synced 2026-01-25 07:16:40 +00:00
Vendor latest swagger-ui
This commit is contained in:
parent
9b0539a79d
commit
527bbd1cc3
@ -11,15 +11,14 @@
|
|||||||
// about supported directives.
|
// about supported directives.
|
||||||
//
|
//
|
||||||
//= require_tree .
|
//= require_tree .
|
||||||
//= require swagger-ui/lib/shred.bundle.js
|
|
||||||
//= require swagger-ui/lib/jquery-1.8.0.min.js
|
//= require swagger-ui/lib/jquery-1.8.0.min.js
|
||||||
//= require swagger-ui/lib/jquery.slideto.min.js
|
//= require swagger-ui/lib/jquery.slideto.min.js
|
||||||
//= require swagger-ui/lib/jquery.wiggle.min.js
|
//= require swagger-ui/lib/jquery.wiggle.min.js
|
||||||
//= require swagger-ui/lib/jquery.ba-bbq.min.js
|
//= require swagger-ui/lib/jquery.ba-bbq.min.js
|
||||||
//= require swagger-ui/lib/handlebars-1.0.0.js
|
//= require swagger-ui/lib/handlebars-2.0.0.js
|
||||||
//= require swagger-ui/lib/underscore-min.js
|
//= require swagger-ui/lib/underscore-min.js
|
||||||
//= require swagger-ui/lib/backbone-min.js
|
//= require swagger-ui/lib/backbone-min.js
|
||||||
//= require swagger-ui/lib/swagger.js
|
|
||||||
//= require swagger-ui/lib/swagger-client.js
|
|
||||||
//= require swagger-ui/swagger-ui.min.js
|
//= require swagger-ui/swagger-ui.min.js
|
||||||
//= require swagger-ui/lib/highlight.7.3.pack.js
|
//= require swagger-ui/lib/highlight.7.3.pack.js
|
||||||
|
//= require swagger-ui/lib/marked.js
|
||||||
|
//= require swagger-ui/lib/swagger-oauth.js
|
||||||
|
|||||||
@ -8,7 +8,7 @@ module SwaggerRails
|
|||||||
private
|
private
|
||||||
|
|
||||||
def swagger_file_path_for(api_version)
|
def swagger_file_path_for(api_version)
|
||||||
File.join(Rails.root, 'config', 'swagger', "#{api_version}.json")
|
File.join(Rails.root, 'config', 'swagger', api_version, 'swagger.json')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -2,7 +2,8 @@ module SwaggerRails
|
|||||||
class SwaggerUiController < ApplicationController
|
class SwaggerUiController < ApplicationController
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@discovery_url = request.path.gsub('/ui', '/docs/v1')
|
@discovery_path = swagger_path('v1')
|
||||||
|
render :index
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
119
app/views/swagger_rails/swagger_ui/index.html.erb
Normal file
119
app/views/swagger_rails/swagger_ui/index.html.erb
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Swagger UI</title>
|
||||||
|
<link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32" />
|
||||||
|
<link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16" />
|
||||||
|
<link href='css/typography.css' media='screen' rel='stylesheet' type='text/css'/>
|
||||||
|
<link href='css/reset.css' media='screen' rel='stylesheet' type='text/css'/>
|
||||||
|
<link href='css/screen.css' media='screen' rel='stylesheet' type='text/css'/>
|
||||||
|
<link href='css/reset.css' media='print' rel='stylesheet' type='text/css'/>
|
||||||
|
<link href='css/print.css' media='print' rel='stylesheet' type='text/css'/>
|
||||||
|
<script src='lib/jquery-1.8.0.min.js' type='text/javascript'></script>
|
||||||
|
<script src='lib/jquery.slideto.min.js' type='text/javascript'></script>
|
||||||
|
<script src='lib/jquery.wiggle.min.js' type='text/javascript'></script>
|
||||||
|
<script src='lib/jquery.ba-bbq.min.js' type='text/javascript'></script>
|
||||||
|
<script src='lib/handlebars-2.0.0.js' type='text/javascript'></script>
|
||||||
|
<script src='lib/underscore-min.js' type='text/javascript'></script>
|
||||||
|
<script src='lib/backbone-min.js' type='text/javascript'></script>
|
||||||
|
<script src='swagger-ui.js' type='text/javascript'></script>
|
||||||
|
<script src='lib/highlight.7.3.pack.js' type='text/javascript'></script>
|
||||||
|
<script src='lib/marked.js' type='text/javascript'></script>
|
||||||
|
<script src='lib/swagger-oauth.js' type='text/javascript'></script>
|
||||||
|
|
||||||
|
<!-- Some basic translations -->
|
||||||
|
<!-- <script src='lang/translator.js' type='text/javascript'></script> -->
|
||||||
|
<!-- <script src='lang/ru.js' type='text/javascript'></script> -->
|
||||||
|
<!-- <script src='lang/en.js' type='text/javascript'></script> -->
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(function () {
|
||||||
|
var url = window.location.search.match(/url=([^&]+)/);
|
||||||
|
if (url && url.length > 1) {
|
||||||
|
url = decodeURIComponent(url[1]);
|
||||||
|
} else {
|
||||||
|
url = "<%= @discovery_path %>";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pre load translate...
|
||||||
|
if(window.SwaggerTranslator) {
|
||||||
|
window.SwaggerTranslator.translate();
|
||||||
|
}
|
||||||
|
window.swaggerUi = new SwaggerUi({
|
||||||
|
url: url,
|
||||||
|
dom_id: "swagger-ui-container",
|
||||||
|
supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
|
||||||
|
onComplete: function(swaggerApi, swaggerUi){
|
||||||
|
if(typeof initOAuth == "function") {
|
||||||
|
initOAuth({
|
||||||
|
clientId: "your-client-id",
|
||||||
|
clientSecret: "your-client-secret",
|
||||||
|
realm: "your-realms",
|
||||||
|
appName: "your-app-name",
|
||||||
|
scopeSeparator: ","
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if(window.SwaggerTranslator) {
|
||||||
|
window.SwaggerTranslator.translate();
|
||||||
|
}
|
||||||
|
|
||||||
|
$('pre code').each(function(i, e) {
|
||||||
|
hljs.highlightBlock(e)
|
||||||
|
});
|
||||||
|
|
||||||
|
addApiKeyAuthorization();
|
||||||
|
},
|
||||||
|
onFailure: function(data) {
|
||||||
|
log("Unable to Load SwaggerUI");
|
||||||
|
},
|
||||||
|
docExpansion: "none",
|
||||||
|
apisSorter: "alpha",
|
||||||
|
showRequestHeaders: false
|
||||||
|
});
|
||||||
|
|
||||||
|
function addApiKeyAuthorization(){
|
||||||
|
var key = encodeURIComponent($('#input_apiKey')[0].value);
|
||||||
|
if(key && key.trim() != "") {
|
||||||
|
var apiKeyAuth = new SwaggerClient.ApiKeyAuthorization("api_key", key, "query");
|
||||||
|
window.swaggerUi.api.clientAuthorizations.add("api_key", apiKeyAuth);
|
||||||
|
log("added key " + key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#input_apiKey').change(addApiKeyAuthorization);
|
||||||
|
|
||||||
|
// if you have an apiKey you would like to pre-populate on the page for demonstration purposes...
|
||||||
|
/*
|
||||||
|
var apiKey = "myApiKeyXXXX123456789";
|
||||||
|
$('#input_apiKey').val(apiKey);
|
||||||
|
*/
|
||||||
|
|
||||||
|
window.swaggerUi.load();
|
||||||
|
|
||||||
|
function log() {
|
||||||
|
if ('console' in window) {
|
||||||
|
console.log.apply(console, arguments);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="swagger-section">
|
||||||
|
<div id='header'>
|
||||||
|
<div class="swagger-ui-wrap">
|
||||||
|
<a id="logo" href="http://swagger.io">swagger</a>
|
||||||
|
<form id='api_selector'>
|
||||||
|
<div class='input'><input placeholder="http://example.com/api" id="input_baseUrl" name="baseUrl" type="text"/></div>
|
||||||
|
<div class='input'><input placeholder="api_key" id="input_apiKey" name="apiKey" type="text"/></div>
|
||||||
|
<div class='input'><a id="explore" href="#" data-sw-translate>Explore</a></div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="message-bar" class="swagger-ui-wrap" data-sw-translate> </div>
|
||||||
|
<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -1,30 +0,0 @@
|
|||||||
#header
|
|
||||||
.swagger-ui-wrap
|
|
||||||
%a#logo{ href: 'http://swagger.io'} swagger
|
|
||||||
%form#api_selector
|
|
||||||
.input
|
|
||||||
%input#input_baseUrl{ name: 'baseUrl' }
|
|
||||||
.input
|
|
||||||
%input#input_apiKey{ name: 'apiKey' }
|
|
||||||
.input
|
|
||||||
%a#input_apiKey{ name: 'apiKey' }
|
|
||||||
|
|
||||||
#message-bar.swagger-ui-wrap
|
|
||||||
|
|
||||||
#swagger-ui-container.swagger-ui-wrap{ data: { discovery_url: @discovery_url } }
|
|
||||||
|
|
||||||
:coffeescript
|
|
||||||
window.swaggerUi = new SwaggerUi(
|
|
||||||
url: $('#swagger-ui-container').data('discoveryUrl')
|
|
||||||
dom_id: 'swagger-ui-container'
|
|
||||||
onComplete: (swaggerApi, swaggerUi) ->
|
|
||||||
log('Loaded SwaggerUi')
|
|
||||||
$('pre code').each (i, e) ->
|
|
||||||
hljs.highlighBlock(e)
|
|
||||||
onFailure: (data) ->
|
|
||||||
log('Unable to load Swagger UI')
|
|
||||||
docExpansion: 'none'
|
|
||||||
sorter: 'alpha'
|
|
||||||
)
|
|
||||||
|
|
||||||
window.swaggerUi.load()
|
|
||||||
@ -1,5 +1,5 @@
|
|||||||
SwaggerRails::Engine.routes.draw do
|
SwaggerRails::Engine.routes.draw do
|
||||||
|
|
||||||
get '/ui', to: 'swagger_ui#show'
|
get '/ui', to: 'swagger_ui#show'
|
||||||
get '/docs/:api_version', to: 'swagger_docs#show'
|
get '/:api_version/swagger.json', to: 'swagger_docs#show', as: :swagger
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
Rails.application.routes.draw do
|
Rails.application.routes.draw do
|
||||||
|
|
||||||
mount SwaggerRails::Engine => "/swagger_rails"
|
mount SwaggerRails::Engine => '/swagger'
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit b3dc9c004702a1f81921a9b75f86bf0a31996928
|
Subproject commit 8e72906c911a02853b87f5241d157e83e2bf7377
|
||||||
Loading…
Reference in New Issue
Block a user