swagger_yard-rails 0.1.0 → 0.2.0
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/.travis.yml +1 -0
- data/CHANGELOG.md +10 -0
- data/Gemfile +0 -3
- data/README.md +24 -0
- data/{lib → app/controllers}/swagger_yard/rails/application_controller.rb +0 -0
- data/app/controllers/swagger_yard/rails/swagger_controller.rb +14 -0
- data/app/views/swagger_yard/rails/swagger/doc.html.erb +43 -0
- data/config/routes.rb +6 -2
- data/lib/swagger_yard/rails.rb +0 -2
- data/lib/swagger_yard/rails/engine.rb +11 -0
- data/lib/swagger_yard/rails/tasks.rake +7 -0
- data/lib/swagger_yard/rails/version.rb +1 -1
- data/swagger_yard-rails.gemspec +3 -1
- metadata +36 -6
- data/lib/swagger_yard/rails/swagger_controller.rb +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c94696f2feaf6e856d6ea364376c58a27ee9a9ba
|
4
|
+
data.tar.gz: 08976e63e0846806c8c2c94303a1c7191fa882e0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c12fefc9e29ebc4e924f8734ae2559f98f013aea0b85743f1a7faa7c472417d1dfe141f6f684f253cd8a2250e6f2cf38d6dd1fe3a0e82545d31a3a435c18ba7
|
7
|
+
data.tar.gz: afc7e95748615318a546b666ffb913753d8bdc61792c6bb6122d5be293c81458f053e1ab3f81c6b43c41bfcb194fd734abc40f6a733c3628b1acbe1dfad6a631
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -23,6 +23,30 @@ And then execute:
|
|
23
23
|
mount SwaggerYard::Rails::Engine, at: "/swagger"
|
24
24
|
```
|
25
25
|
|
26
|
+
### Add JS/CSS for UI ###
|
27
|
+
|
28
|
+
In your Gemfile (until the release of 2.1.3):
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
gem 'swagger-ui_rails2', github: '3scale/swagger-ui_rails', branch: 'dev-2.1.3'
|
32
|
+
```
|
33
|
+
|
34
|
+
[https://github.com/3scale/swagger-ui_rails/tree/dev-2.1.3#usage](https://github.com/3scale/swagger-ui_rails/tree/dev-2.1.3#usage)
|
35
|
+
|
36
|
+
in application.css:
|
37
|
+
|
38
|
+
```css
|
39
|
+
*= require swagger-ui2/index
|
40
|
+
```
|
41
|
+
|
42
|
+
in application.js:
|
43
|
+
|
44
|
+
```js
|
45
|
+
//= require swagger-ui2/index
|
46
|
+
```
|
47
|
+
|
48
|
+
**Note:** swagger_yard-rails will handle the template
|
49
|
+
|
26
50
|
### Configure SwaggerYard ###
|
27
51
|
|
28
52
|
```ruby
|
File without changes
|
@@ -0,0 +1,43 @@
|
|
1
|
+
<script type="text/javascript">
|
2
|
+
$(function () {
|
3
|
+
var url = window.location.search.match(/url=([^&]+)/);
|
4
|
+
if (url && url.length > 1) {
|
5
|
+
url = decodeURIComponent(url[1]);
|
6
|
+
} else {
|
7
|
+
url = "/swagger/api.json";
|
8
|
+
}
|
9
|
+
|
10
|
+
window.swaggerUi = new SwaggerUi({
|
11
|
+
url: url,
|
12
|
+
dom_id:"swagger-ui-container",
|
13
|
+
supportHeaderParams: false,
|
14
|
+
supportedSubmitMethods: ['get', 'post', 'put', 'delete', 'patch'],
|
15
|
+
onComplete: function(swaggerApi, swaggerUi){
|
16
|
+
if(console) {
|
17
|
+
console.log("Loaded SwaggerUI")
|
18
|
+
console.log(swaggerApi);
|
19
|
+
console.log(swaggerUi);
|
20
|
+
}
|
21
|
+
$('pre code').each(function(i, e) {hljs.highlightBlock(e)});
|
22
|
+
},
|
23
|
+
onFailure: function(data) {
|
24
|
+
if(console) {
|
25
|
+
console.log("Unable to Load SwaggerUI");
|
26
|
+
console.log(data);
|
27
|
+
}
|
28
|
+
},
|
29
|
+
docExpansion: "none"
|
30
|
+
});
|
31
|
+
|
32
|
+
window.swaggerUi.load();
|
33
|
+
});
|
34
|
+
|
35
|
+
</script>
|
36
|
+
|
37
|
+
<div class="swagger-section">
|
38
|
+
<div id="message-bar" class="swagger-ui-wrap">
|
39
|
+
|
40
|
+
</div>
|
41
|
+
|
42
|
+
<div id="swagger-ui-container" class="swagger-ui-wrap"></div>
|
43
|
+
</div>
|
data/config/routes.rb
CHANGED
@@ -1,4 +1,8 @@
|
|
1
1
|
SwaggerYard::Rails::Engine.routes.draw do
|
2
|
-
|
3
|
-
|
2
|
+
get '/doc', to: 'swagger#doc'
|
3
|
+
|
4
|
+
scope default: {format: 'json'} do
|
5
|
+
get '/swagger', to: 'swagger#index'
|
6
|
+
get '/api', to: 'swagger#index'
|
7
|
+
end
|
4
8
|
end
|
data/lib/swagger_yard/rails.rb
CHANGED
@@ -5,6 +5,17 @@ module SwaggerYard
|
|
5
5
|
initializer "swagger_yard-rails.finisher_hook" do |app|
|
6
6
|
SwaggerYard.register_custom_yard_tags!
|
7
7
|
end
|
8
|
+
|
9
|
+
initializer "swagger_yard-rails.paths" do |app|
|
10
|
+
SwaggerYard.configure do |config|
|
11
|
+
config.controller_path = ::Rails.root + 'app/controllers/**/*'
|
12
|
+
config.model_path = ::Rails.root + 'app/models/**/*'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
rake_tasks do
|
17
|
+
load File.expand_path('../tasks.rake', __FILE__)
|
18
|
+
end
|
8
19
|
end
|
9
20
|
end
|
10
21
|
end
|
data/swagger_yard-rails.gemspec
CHANGED
@@ -28,11 +28,13 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.require_paths = ["lib"]
|
29
29
|
|
30
30
|
spec.add_dependency "rails", ">= 3.2.8"
|
31
|
-
spec.add_dependency "swagger_yard", "~> 0.
|
31
|
+
spec.add_dependency "swagger_yard", "~> 0.2.0"
|
32
32
|
|
33
33
|
spec.add_development_dependency "bundler", "~> 1.10"
|
34
34
|
spec.add_development_dependency "rake", "~> 10.0"
|
35
35
|
spec.add_development_dependency "rspec-rails"
|
36
|
+
spec.add_development_dependency "rspec-its"
|
37
|
+
spec.add_development_dependency "apivore"
|
36
38
|
spec.add_development_dependency "mocha"
|
37
39
|
spec.add_development_dependency "bourne"
|
38
40
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: swagger_yard-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tony Pitale
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.2.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.2.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,6 +80,34 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec-its
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: apivore
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: mocha
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -125,13 +153,15 @@ files:
|
|
125
153
|
- LICENSE.txt
|
126
154
|
- README.md
|
127
155
|
- Rakefile
|
156
|
+
- app/controllers/swagger_yard/rails/application_controller.rb
|
157
|
+
- app/controllers/swagger_yard/rails/swagger_controller.rb
|
158
|
+
- app/views/swagger_yard/rails/swagger/doc.html.erb
|
128
159
|
- bin/console
|
129
160
|
- bin/setup
|
130
161
|
- config/routes.rb
|
131
162
|
- lib/swagger_yard/rails.rb
|
132
|
-
- lib/swagger_yard/rails/application_controller.rb
|
133
163
|
- lib/swagger_yard/rails/engine.rb
|
134
|
-
- lib/swagger_yard/rails/
|
164
|
+
- lib/swagger_yard/rails/tasks.rake
|
135
165
|
- lib/swagger_yard/rails/version.rb
|
136
166
|
- swagger_yard-rails.gemspec
|
137
167
|
homepage: https://github.com/tpitale/swagger_yard-rails
|
@@ -1,25 +0,0 @@
|
|
1
|
-
module SwaggerYard
|
2
|
-
module Rails
|
3
|
-
class SwaggerController < ApplicationController
|
4
|
-
layout false
|
5
|
-
|
6
|
-
def index
|
7
|
-
listing = resource_listing.to_h
|
8
|
-
listing.merge!("basePath" => request.url) if listing["basePath"].blank?
|
9
|
-
render :json => listing
|
10
|
-
end
|
11
|
-
|
12
|
-
def show
|
13
|
-
declaration = resource_listing.declaration_for("/#{params[:resource]}").to_h
|
14
|
-
|
15
|
-
declaration.merge!("basePath" => request.base_url + SwaggerYard.config.api_path) if declaration["basePath"].blank?
|
16
|
-
render :json => declaration
|
17
|
-
end
|
18
|
-
|
19
|
-
private
|
20
|
-
def resource_listing
|
21
|
-
SwaggerYard::ResourceListing.new(::Rails.root+'app/controllers/**/*.rb', ::Rails.root+'app/models/**/*.rb')
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|