swagger_coverage 0.0.5 → 0.0.6
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/lib/code_parser.rb +10 -8
- data/lib/swagger_cov.rb +26 -2
- data/lib/swagger_coverage/version.rb +1 -1
- data/lib/swagger_parser.rb +4 -2
- data/non_api_routes_test_info/routes.txt +25 -0
- data/non_api_routes_test_info/swagger.json +1 -0
- data/routes.txt +5 -0
- data/swagger.json +1 -177
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f613780fa11b8056da41a388bf857bd52d2e038c
|
4
|
+
data.tar.gz: 3adf5b54efdfbe3a7c9468f377dabafe38846630
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee1228d7de4d959277dd517c627b2619205238c38ed65140e9e0ec4d819028bc6b446d49aa798a436972d4e4c780ee8926d63db63fcfb8c5efa967e6a404572d
|
7
|
+
data.tar.gz: 2566daa222437eb37aed1455e71c21fe12d5ebac01050b1e0709c572af44e763ccf17daec5a71cfedddfcedf25eee3431ac1961c6218a87a4a855c37726c0b42
|
data/lib/code_parser.rb
CHANGED
@@ -5,19 +5,21 @@ class CodeParser
|
|
5
5
|
end
|
6
6
|
|
7
7
|
#returns an empty array if no api_endpoints in code
|
8
|
-
def api_endpoints(output = @raw_routes_output
|
8
|
+
def api_endpoints(output = @raw_routes_output)
|
9
9
|
endpoints = []
|
10
10
|
parsed_routes(output).each do |route|
|
11
11
|
if route[:route] != nil
|
12
|
-
if api
|
13
|
-
endpoints << route[:route] if route[:route].include?('/api')
|
14
|
-
else
|
15
|
-
endpoints << route[:route]
|
16
|
-
end
|
12
|
+
endpoints << route[:route] if route[:route].include?('/api')
|
17
13
|
end
|
18
14
|
end
|
19
|
-
|
20
|
-
|
15
|
+
endpoints
|
16
|
+
end
|
17
|
+
|
18
|
+
def all_endpoints(output = @raw_routes_output)
|
19
|
+
endpoints = []
|
20
|
+
parsed_routes(output).each do |route|
|
21
|
+
endpoints << route[:route] if route[:route] != nil
|
22
|
+
end
|
21
23
|
endpoints
|
22
24
|
end
|
23
25
|
|
data/lib/swagger_cov.rb
CHANGED
@@ -19,7 +19,7 @@ module SwaggerCoverage
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def check_routes(api = false)
|
22
|
-
code_endpoints = @code_parser.api_endpoints(@output
|
22
|
+
code_endpoints = @code_parser.api_endpoints(@output)
|
23
23
|
swagger_endpoints = @swagger_parser.api_endpoints
|
24
24
|
routes_diff = compare_routes(code_endpoints, swagger_endpoints)
|
25
25
|
end
|
@@ -39,6 +39,30 @@ module SwaggerCoverage
|
|
39
39
|
endpoint_diff
|
40
40
|
end
|
41
41
|
|
42
|
-
|
42
|
+
def source_api_routes
|
43
|
+
output = @output
|
44
|
+
endpoints = []
|
45
|
+
@code_parser.parsed_routes(output).each do |route|
|
46
|
+
if route[:route] != nil
|
47
|
+
endpoints << route[:route] if route[:route].include?('/api')
|
48
|
+
end
|
49
|
+
end
|
50
|
+
endpoints.sort
|
51
|
+
end
|
52
|
+
|
53
|
+
def source_routes
|
54
|
+
output = @output
|
55
|
+
endpoints = []
|
56
|
+
@code_parser.parsed_routes(ouput) do |route|
|
57
|
+
endpoints << route[:route] if route[:route] != nil
|
58
|
+
end
|
59
|
+
endpoints.sort
|
60
|
+
end
|
43
61
|
|
62
|
+
def swagger_api_routes
|
63
|
+
swagger_routes = @swagger_parser.api_endpoints
|
64
|
+
swagger_routes.sort
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
44
68
|
end
|
data/lib/swagger_parser.rb
CHANGED
@@ -13,8 +13,10 @@ class SwaggerParser
|
|
13
13
|
def api_endpoints
|
14
14
|
endpoints = []
|
15
15
|
base_path = @parse['basePath']
|
16
|
+
swag_path = ''
|
16
17
|
@parse['paths'].each do |path|
|
17
|
-
|
18
|
+
swag_path = base_path + path.first.gsub('{', ':').gsub('}', '')
|
19
|
+
endpoints << swag_path if swag_path.include?('api')
|
18
20
|
end
|
19
21
|
endpoints
|
20
22
|
end
|
@@ -23,7 +25,7 @@ class SwaggerParser
|
|
23
25
|
request_types_arr = []
|
24
26
|
paths_arr = []
|
25
27
|
@parse['paths'].each do |path|
|
26
|
-
paths_arr << path.first
|
28
|
+
paths_arr << path.first if path.first.include?('api')
|
27
29
|
end
|
28
30
|
paths_arr.each do |path|
|
29
31
|
@yaml_file ? req = @parse['paths'] : req = @parse['paths'][path]
|
@@ -0,0 +1,25 @@
|
|
1
|
+
health_path GET /health Grid.HealthController :index
|
2
|
+
page_path GET / Grid.PageController :index
|
3
|
+
visit_path GET /api/public/visit/show_by_nexus_id/:id Grid.VisitController :show_by_nexus_id
|
4
|
+
visit_path GET /api/public/visit/show_by_user_id/:id Grid.VisitController :show_by_user_id
|
5
|
+
app_stat_path GET /api/public/app_stats Grid.AppStatController :index
|
6
|
+
app_stat_path GET /api/public/app_stats/:id/edit Grid.AppStatController :edit
|
7
|
+
app_stat_path GET /api/public/app_stats/new Grid.AppStatController :new
|
8
|
+
app_stat_path GET /api/public/app_stats/:id Grid.AppStatController :show
|
9
|
+
app_stat_path POST /api/public/app_stats Grid.AppStatController :create
|
10
|
+
app_stat_path PATCH /api/public/app_stats/:id Grid.AppStatController :update
|
11
|
+
PUT /api/public/app_stats/:id Grid.AppStatController :update
|
12
|
+
app_stat_path DELETE /api/public/app_stats/:id Grid.AppStatController :delete
|
13
|
+
user_path GET /api/public/users Grid.UserController :index
|
14
|
+
user_path GET /api/public/users/:id Grid.UserController :show
|
15
|
+
user_path POST /api/public/users Grid.UserController :create
|
16
|
+
user_path PATCH /api/public/users/:id Grid.UserController :update
|
17
|
+
PUT /api/public/users/:id Grid.UserController :update
|
18
|
+
user_path DELETE /api/public/users/:id Grid.UserController :delete
|
19
|
+
user_nexus_identity_path GET /api/public/users/:user_id/nexus_identities Grid.NexusIdentityController :index
|
20
|
+
nexus_identity_path GET /api/public/nexus_identities Grid.NexusIdentityController :index
|
21
|
+
nexus_identity_path GET /api/public/nexus_identities/:id Grid.NexusIdentityController :show
|
22
|
+
nexus_identity_path POST /api/public/nexus_identities Grid.NexusIdentityController :create
|
23
|
+
nexus_identity_path PATCH /api/public/nexus_identities/:id Grid.NexusIdentityController :update
|
24
|
+
PUT /api/public/nexus_identities/:id Grid.NexusIdentityController :update
|
25
|
+
nexus_identity_path DELETE /api/public/nexus_identities/:id Grid.NexusIdentityController :delete
|
@@ -0,0 +1 @@
|
|
1
|
+
{"swagger":"2.0","schemes":["http"],"produces":["application/json"],"paths":{"/health":{"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"description":"Resource Content"}},"produces":["application/json"],"parameters":[],"operationId":"index","description":""}},"/api/public/visit/show_by_user_id/{id}":{"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"schema":{"type":"object","title":"ShowByUserId","required":["last_cloud_visit","last_networking_visit"],"properties":{"last_networking_visit":{"type":"string","format":"date-time"},"last_cloud_visit":{"type":"string","format":"date-time"}}},"description":"Resource Content"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":"Spiceworks Id"}],"operationId":"show_by_user_id","description":"Retrieve last cloud and networking visit by user id"}},"/api/public/visit/show_by_nexus_id/{id}":{"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"schema":{"type":"object","title":"ShowByNexusId","required":["last_cloud_visit","last_networking_visit"],"properties":{"last_networking_visit":{"type":"string","format":"date-time"},"last_cloud_visit":{"type":"string","format":"date-time"}}},"description":"Resource Content"}},"produces":["application/json"],"parameters":[{"type":"string","required":true,"name":"id","in":"path","description":"Nexus Id"}],"operationId":"show_by_nexus_id","description":"Retrieve last cloud and networking visit by user id"}},"/api/public/users/{user_id}/nexus_identities":{"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"description":"Resource Content"}},"produces":["application/json"],"parameters":[{"type":"string","required":true,"name":"user_id","in":"path","description":""}],"operationId":"index","description":""}},"/api/public/users/{id}":{"put":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"400":{"description":"Request contains bad values"},"204":{"description":"No Content"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":""}],"operationId":"update","description":""},"patch":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":""}],"operationId":"update","description":""},"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"schema":{"$ref":"#/definitions/Grid.User"},"description":"Resource Content"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":"Spiceworks Id"}],"operationId":"show","description":"Retrieve user"},"delete":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"204":{"description":"No Content"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":""}],"operationId":"delete","description":""}},"/api/public/users":{"post":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"400":{"description":"Request contains bad values"},"201":{"description":"Resource created"}},"produces":["application/json"],"parameters":[{"required":true,"name":"type","in":"body","description":"The new User","schema":{"$ref":"#/definitions/Grid.User"}}],"operationId":"create","description":"Create a User"},"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"schema":{"title":"Users","type":"array","items":{"$ref":"#/definitions/Grid.User"}},"description":"Resource Content"}},"produces":["application/json"],"parameters":[],"operationId":"index","description":"Retrieve all Users"}},"/api/public/nexus_identities/{id}":{"put":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"400":{"description":"Request contains bad values"},"204":{"description":"No Content"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":""}],"operationId":"update","description":""},"patch":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":""}],"operationId":"update","description":""},"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"description":"Resource Content"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":""}],"operationId":"show","description":""},"delete":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"204":{"description":"No Content"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":""}],"operationId":"delete","description":""}},"/api/public/nexus_identities":{"post":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"400":{"description":"Request contains bad values"},"201":{"description":"Resource created"}},"produces":["application/json"],"parameters":[],"operationId":"create","description":""},"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"description":"Resource Content"}},"produces":["application/json"],"parameters":[],"operationId":"index","description":""}},"/api/public/app_stats/{id}/edit":{"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"description":"Resource Content"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":""}],"operationId":"edit","description":""}},"/api/public/app_stats/{id}":{"put":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"400":{"description":"Request contains bad values"},"204":{"description":"No Content"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":""}],"operationId":"update","description":""},"patch":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":""}],"operationId":"update","description":""},"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"description":"Resource Content"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":""}],"operationId":"show","description":""},"delete":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"204":{"description":"No Content"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":""}],"operationId":"delete","description":""}},"/api/public/app_stats/new":{"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"description":"Resource Content"}},"produces":["application/json"],"parameters":[],"operationId":"new","description":""}},"/api/public/app_stats":{"post":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"400":{"description":"Request contains bad values"},"201":{"description":"Resource created"}},"produces":["application/json"],"parameters":[],"operationId":"create","description":""},"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"description":"Resource Content"}},"produces":["application/json"],"parameters":[],"operationId":"index","description":""}},"nil":{"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"description":"Resource Content"}},"produces":["application/json"],"parameters":[],"operationId":"index","description":""}}},"info":{"version":"","title":"GRID","termsOfService":"","license":{"url":"","name":""},"description":"","contact":{"url":"","name":"Fraser Mince","email":"fraserm@spiceworks.com"}},"host":"api.spiceworks.com","definitions":{"Grid.User":{"required":["spiceworks_id","last_cloud_visit","last_networking_visit"],"properties":{"updated_at":{"type":"string","format":"date-time"},"spiceworks_id":{"type":"integer","format":"int64"},"last_networking_visit":{"type":"string","format":"date-time"},"last_cloud_visit":{"type":"string","format":"date-time"},"inserted_at":{"type":"string","format":"date-time"},"id":{"type":"integer","format":"int64"}}},"Grid.NexusIdentity":{"required":["nexus_id"],"properties":{"user_id":{"type":"integer","format":"int64"},"updated_at":{"type":"string","format":"date-time"},"nexus_id":{"type":"string"},"inserted_at":{"type":"string","format":"date-time"},"id":{"type":"integer","format":"int64"}}},"Grid.AppStat":{"required":["key","value"],"properties":{"value":{"type":"integer","format":"int64"},"updated_at":{"type":"string","format":"date-time"},"key":{"type":"string"},"inserted_at":{"type":"string","format":"date-time"},"id":{"type":"integer","format":"int64"}}}},"consumes":["application/json"],"basePath":""}
|
data/routes.txt
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
page_path GET /lookup/:id IpCheck.PageController :show
|
2
|
+
health_path GET /health IpCheck.HealthController :index
|
3
|
+
api_path GET /api IpCheck.ApiController :index
|
4
|
+
v1_api_path GET /api/v1 IpCheck.V1.ApiController :index
|
5
|
+
v1_page_path GET /api/v1/lookup/:id IpCheck.V1.PageController :show
|
data/swagger.json
CHANGED
@@ -1,177 +1 @@
|
|
1
|
-
{
|
2
|
-
"swagger": "2.0",
|
3
|
-
"info": {
|
4
|
-
"title": "Stratocumulus API",
|
5
|
-
"description": "Finally you can use the cloud with Stratocumulus",
|
6
|
-
"version": "1.0.0"
|
7
|
-
},
|
8
|
-
"schemes": [
|
9
|
-
"https"
|
10
|
-
],
|
11
|
-
"basePath": "/api",
|
12
|
-
"produces": [
|
13
|
-
"application/json"
|
14
|
-
],
|
15
|
-
"paths": {
|
16
|
-
"/status": {
|
17
|
-
"get": {
|
18
|
-
"summary": "Statuses",
|
19
|
-
"description": "The Status endpoint returns the currently stored statuses.\n",
|
20
|
-
"tags": [
|
21
|
-
"Statuses"
|
22
|
-
],
|
23
|
-
"responses": {
|
24
|
-
"200": {
|
25
|
-
"description": "An array of Statuses",
|
26
|
-
"schema": {
|
27
|
-
"type": "array",
|
28
|
-
"items": {
|
29
|
-
"$ref": "#/definitions/Status"
|
30
|
-
}
|
31
|
-
}
|
32
|
-
}
|
33
|
-
}
|
34
|
-
},
|
35
|
-
"post": {
|
36
|
-
"summary": "Create new Statuses",
|
37
|
-
"description": "This endpoint allows the user to create a new status.\n",
|
38
|
-
"tags": [
|
39
|
-
"Statuses"
|
40
|
-
],
|
41
|
-
"responses": {
|
42
|
-
"200": {
|
43
|
-
"description": "Returns the ID and name of the new status",
|
44
|
-
"schema": {
|
45
|
-
"$ref": "#/definitions/Status"
|
46
|
-
}
|
47
|
-
}
|
48
|
-
}
|
49
|
-
}
|
50
|
-
},
|
51
|
-
"/status/{id}": {
|
52
|
-
"get": {
|
53
|
-
"summary": "Get specific Status",
|
54
|
-
"description": "This endpoint returns a specific status.\n",
|
55
|
-
"tags": [
|
56
|
-
"Statuses"
|
57
|
-
],
|
58
|
-
"parameters": [
|
59
|
-
{
|
60
|
-
"name": "id",
|
61
|
-
"in": "path",
|
62
|
-
"description": "ID of status to fetch",
|
63
|
-
"required": true,
|
64
|
-
"type": "integer",
|
65
|
-
"format": "int64"
|
66
|
-
}
|
67
|
-
],
|
68
|
-
"responses": {
|
69
|
-
"200": {
|
70
|
-
"description": "Returns the ID and name of the requested status",
|
71
|
-
"schema": {
|
72
|
-
"$ref": "#/definitions/Status"
|
73
|
-
}
|
74
|
-
}
|
75
|
-
}
|
76
|
-
},
|
77
|
-
"patch": {
|
78
|
-
"summary": "Update specific Status",
|
79
|
-
"description": "This endpoint allws the user to update a specific status.\n",
|
80
|
-
"tags": [
|
81
|
-
"Statuses"
|
82
|
-
],
|
83
|
-
"parameters": [
|
84
|
-
{
|
85
|
-
"name": "id",
|
86
|
-
"in": "path",
|
87
|
-
"description": "ID of status to update",
|
88
|
-
"required": true,
|
89
|
-
"type": "integer"
|
90
|
-
},
|
91
|
-
{
|
92
|
-
"name": "status",
|
93
|
-
"in": "formData",
|
94
|
-
"description": "Updated status",
|
95
|
-
"required": false,
|
96
|
-
"type": "string"
|
97
|
-
}
|
98
|
-
],
|
99
|
-
"responses": {
|
100
|
-
"200": {
|
101
|
-
"description": "Returns the ID and name of the updated status",
|
102
|
-
"schema": {
|
103
|
-
"$ref": "#/definitions/Status"
|
104
|
-
}
|
105
|
-
}
|
106
|
-
}
|
107
|
-
},
|
108
|
-
"put": {
|
109
|
-
"summary": "Replace existing Status",
|
110
|
-
"description": "This endpoint allws the user to replace an existing status.\n",
|
111
|
-
"tags": [
|
112
|
-
"Statuses"
|
113
|
-
],
|
114
|
-
"parameters": [
|
115
|
-
{
|
116
|
-
"name": "id",
|
117
|
-
"in": "path",
|
118
|
-
"description": "ID of status to update",
|
119
|
-
"required": true,
|
120
|
-
"type": "integer"
|
121
|
-
},
|
122
|
-
{
|
123
|
-
"name": "status",
|
124
|
-
"in": "formData",
|
125
|
-
"description": "New status",
|
126
|
-
"required": true,
|
127
|
-
"type": "string"
|
128
|
-
}
|
129
|
-
],
|
130
|
-
"responses": {
|
131
|
-
"200": {
|
132
|
-
"description": "Returns the ID and name of the patched status",
|
133
|
-
"schema": {
|
134
|
-
"$ref": "#/definitions/Status"
|
135
|
-
}
|
136
|
-
}
|
137
|
-
}
|
138
|
-
},
|
139
|
-
"delete": {
|
140
|
-
"summary": "Delete existing Status",
|
141
|
-
"description": "This endpoint allws the user to delete an existing status.\n",
|
142
|
-
"tags": [
|
143
|
-
"Statuses"
|
144
|
-
],
|
145
|
-
"parameters": [
|
146
|
-
{
|
147
|
-
"name": "id",
|
148
|
-
"in": "path",
|
149
|
-
"description": "ID of status to delete",
|
150
|
-
"required": true,
|
151
|
-
"type": "integer"
|
152
|
-
}
|
153
|
-
],
|
154
|
-
"responses": {
|
155
|
-
"200": {
|
156
|
-
"description": "Not sure what this returns currently"
|
157
|
-
}
|
158
|
-
}
|
159
|
-
}
|
160
|
-
}
|
161
|
-
},
|
162
|
-
"definitions": {
|
163
|
-
"Status": {
|
164
|
-
"type": "object",
|
165
|
-
"properties": {
|
166
|
-
"id": {
|
167
|
-
"type": "string",
|
168
|
-
"description": "Unique identifier representing a status."
|
169
|
-
},
|
170
|
-
"status": {
|
171
|
-
"type": "string",
|
172
|
-
"description": "The name of the status."
|
173
|
-
}
|
174
|
-
}
|
175
|
-
}
|
176
|
-
}
|
177
|
-
}
|
1
|
+
{"swagger":"2.0","schemes":["http"],"produces":["application/json"],"paths":{"/api/v1/lookup/{id}":{"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"description":"Resource Content"}},"produces":["application/json"],"parameters":[{"type":"integer","required":true,"name":"id","in":"path","description":""}],"operationId":"show","description":""}},"/api/v1":{"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"description":"Resource Content"}},"produces":["application/json"],"parameters":[],"operationId":"index","description":""}},"/api":{"get":{"responses":{"500":{"description":"Internal Server Error"},"404":{"description":"Resource not found"},"401":{"description":"Request is not authorized"},"200":{"description":"Resource Content"}},"produces":["application/json"],"parameters":[],"operationId":"index","description":""}}},"info":{"version":"","title":"ip-check-backend","termsOfService":"","license":{"url":"","name":""},"description":"","contact":{"url":"","name":"Jason Hatchett","email":"jasonh@spiceworks.com"}},"host":"api.spiceworks.com","definitions":{"Ecto.Migration.SchemaMigration":{"properties":{"version":{"type":"integer","format":"int64"},"inserted_at":{"type":"string","format":"date-time"}}}},"consumes":["application/json"],"basePath":""}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: swagger_coverage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Harthcock
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -49,6 +49,9 @@ files:
|
|
49
49
|
- lib/swagger_cov.rb
|
50
50
|
- lib/swagger_coverage/version.rb
|
51
51
|
- lib/swagger_parser.rb
|
52
|
+
- non_api_routes_test_info/routes.txt
|
53
|
+
- non_api_routes_test_info/swagger.json
|
54
|
+
- routes.txt
|
52
55
|
- swagger.json
|
53
56
|
- swagger_coverage.gemspec
|
54
57
|
homepage: https://gitlab.spice.spiceworks.com/spiceworks/swagger-cov.git
|