swagger-docs 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +1 -1
- data.tar.gz.sig +0 -0
- data/README.md +1 -1
- data/lib/swagger/docs/generator.rb +5 -4
- data/lib/swagger/docs/version.rb +1 -1
- data/spec/lib/swagger/docs/generator_spec.rb +3 -3
- metadata +1 -1
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8288447cb546d04ee3e791e473f06351c1f9e702
|
4
|
+
data.tar.gz: cf69d2574759663cdccb895d4c320c0b085fa0e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0cfdeb3b6ffc0c27f2306739d7831496c65c480efd54ad583923b5c0d1a5e6aa12643f55e59ffe4797e71b87f7d29fdba49c8f5d866f167906cc1e113f4be7a1
|
7
|
+
data.tar.gz: aa89d0b6b9cac77cd1b9ab5e952b89ce3c85bed99fdc0933e891ba9bcf633180ffc72e6e1ba82e1dfbb197fdb261efafbdc66970f83dbfe474073894716aa6f2
|
checksums.yaml.gz.sig
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
0�zQ��"Hr����B�I9��PJ����|�.�(�7��ȟ�T�zH���r�t4��~3��1�,��2�5�F��1��By}e����kUvq�����w�Μ�����\.#뫷��1�d�Y�P_t�2}��wa�\�4�B2��l\�d�:Mg�4C���-�&a\�T��r.�)����z��Z�Ԙ>���d�P�|� m�BTX �W��C"c�d�
|
data.tar.gz.sig
CHANGED
Binary file
|
data/README.md
CHANGED
@@ -38,7 +38,7 @@ Create an initializer in config/initializers (e.g. swagger_docs.rb) and define y
|
|
38
38
|
|
39
39
|
```
|
40
40
|
Swagger::Docs::Config.register_apis({
|
41
|
-
"1.0" => {:controller_base_path => "api/v1", :api_file_path => "public/api/v1/"}
|
41
|
+
"1.0" => {:controller_base_path => "api/v1", :api_file_path => "public/api/v1/", :base_path => "http://api.somedomain.com"}
|
42
42
|
})
|
43
43
|
```
|
44
44
|
|
@@ -45,18 +45,19 @@ module Swagger
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def write_doc(api_version, config)
|
48
|
-
base_path = config[:
|
48
|
+
base_path = config[:base_path]
|
49
|
+
controller_base_path = config[:controller_base_path]
|
49
50
|
api_file_path = config[:api_file_path]
|
50
51
|
results = {:processed => [], :skipped => []}
|
51
52
|
|
52
53
|
FileUtils.mkdir_p(api_file_path) # recursively create out output path
|
53
54
|
Dir.foreach(api_file_path) {|f| fn = File.join(api_file_path, f); File.delete(fn) if !File.directory?(fn)} # clean output path
|
54
55
|
|
55
|
-
header = { :api_version => api_version, :swagger_version => "1.2", :base_path => "
|
56
|
+
header = { :api_version => api_version, :swagger_version => "1.2", :base_path => "#{base_path}/#{controller_base_path}"}
|
56
57
|
resources = header.merge({:apis => []})
|
57
58
|
|
58
59
|
paths = Rails.application.routes.routes.map{|i| "#{i.defaults[:controller]}" }
|
59
|
-
paths = paths.uniq.select{|i| i.start_with?(
|
60
|
+
paths = paths.uniq.select{|i| i.start_with?(controller_base_path)}
|
60
61
|
paths.each do |path|
|
61
62
|
klass = "#{path.to_s.camelize}Controller".constantize
|
62
63
|
if !klass.methods.include?(:swagger_config) or !klass.swagger_config[:controller]
|
@@ -71,7 +72,7 @@ module Swagger
|
|
71
72
|
operations = Hash[operations.map {|k, v| [k.to_s.gsub("@","").to_sym, v] }] # rename :@instance hash keys
|
72
73
|
operations[:method] = verb
|
73
74
|
operations[:nickname] = "#{path.camelize}##{action}"
|
74
|
-
apis << {:path => get_api_path(route.path.spec).gsub("/#{
|
75
|
+
apis << {:path => get_api_path(route.path.spec).gsub("/#{controller_base_path}",""), :operations => [operations]}
|
75
76
|
end
|
76
77
|
demod = "#{path.to_s.camelize}".demodulize.camelize.underscore
|
77
78
|
resource = header.merge({:resource_path => "/#{demod}", :apis => apis})
|
data/lib/swagger/docs/version.rb
CHANGED
@@ -23,7 +23,7 @@ describe Swagger::Docs::Generator do
|
|
23
23
|
stub_route("^DELETE$", "destroy", "api/v1/sample", "/api/v1/sample/:id(.:format)")
|
24
24
|
]
|
25
25
|
@config = Swagger::Docs::Config.register_apis({
|
26
|
-
"1.0" => {:controller_base_path => "api/v1", :api_file_path => "#{TMP_DIR}api/v1/"}
|
26
|
+
"1.0" => {:controller_base_path => "api/v1", :api_file_path => "#{TMP_DIR}api/v1/", :base_path => "http://api.no.where"}
|
27
27
|
})
|
28
28
|
Rails.stub_chain(:application, :routes, :routes).and_return(routes)
|
29
29
|
Swagger::Docs::Generator.set_real_methods
|
@@ -65,7 +65,7 @@ describe Swagger::Docs::Generator do
|
|
65
65
|
expect(response["swaggerVersion"]).to eq "1.2"
|
66
66
|
end
|
67
67
|
it "writes basePath correctly" do
|
68
|
-
expect(response["basePath"]).to eq "/api/v1"
|
68
|
+
expect(response["basePath"]).to eq "http://api.no.where/api/v1"
|
69
69
|
end
|
70
70
|
it "writes apis correctly" do
|
71
71
|
expect(response["apis"].count).to eq 1
|
@@ -92,7 +92,7 @@ describe Swagger::Docs::Generator do
|
|
92
92
|
expect(response["swaggerVersion"]).to eq "1.2"
|
93
93
|
end
|
94
94
|
it "writes basePath correctly" do
|
95
|
-
expect(response["basePath"]).to eq "/api/v1"
|
95
|
+
expect(response["basePath"]).to eq "http://api.no.where/api/v1"
|
96
96
|
end
|
97
97
|
it "writes resourcePath correctly" do
|
98
98
|
expect(response["resourcePath"]).to eq "/sample"
|
metadata
CHANGED
metadata.gz.sig
CHANGED
Binary file
|