swagger-docs 0.0.1 → 0.0.2
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
- 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
|