Class: SwaggerParser
- Inherits:
-
Object
- Object
- SwaggerParser
- Defined in:
- lib/swagger_parser.rb
Instance Method Summary collapse
- #api_endpoints ⇒ Object
- #http_requests ⇒ Object
-
#initialize(path) ⇒ SwaggerParser
constructor
A new instance of SwaggerParser.
Constructor Details
#initialize(path) ⇒ SwaggerParser
Returns a new instance of SwaggerParser.
6 7 8 9 10 11 |
# File 'lib/swagger_parser.rb', line 6 def initialize(path) @path = path @yaml_file = @path.include?('yaml') @yaml_file ? @docs = YAML.load_file(path) : @docs = File.read(path) @yaml_file ? @parse = @docs : @parse = JSON.parse(@docs) end |
Instance Method Details
#api_endpoints ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/swagger_parser.rb', line 13 def api_endpoints endpoints = [] base_path = @parse['basePath'] if base_path == nil raise "'basePath' not specified in swagger documentation" end swag_path = '' @parse['paths'].each do |path| swag_path = base_path + path.first.gsub('{', ':').gsub('}', '') endpoints << swag_path if swag_path.include?('api') end endpoints end |
#http_requests ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/swagger_parser.rb', line 27 def http_requests request_types_arr = [] paths_arr = [] base_path = @parse['basePath'] if base_path == nil raise "'basePath' not specified in swagger documentation" end @parse['paths'].each do |path| if base_path.include?('api') paths_arr << path.first else paths_arr << path.first if path.first.include?('api') end end paths_arr.each do |path| @yaml_file ? req = @parse['paths'] : req = @parse['paths'][path] @yaml_file ? req = req[path] : req req.each do |type| result = (type.first).upcase request_types_arr << result end end request_types_arr.sort end |