Class: Swagcov::OpenapiFiles
- Inherits:
-
Object
- Object
- Swagcov::OpenapiFiles
- Defined in:
- lib/swagcov/openapi_files.rb
Instance Method Summary collapse
- #find_response_keys(path:, route_verb:) ⇒ Object
-
#initialize(filepaths:) ⇒ OpenapiFiles
constructor
A new instance of OpenapiFiles.
Constructor Details
#initialize(filepaths:) ⇒ OpenapiFiles
Returns a new instance of OpenapiFiles.
5 6 7 8 9 |
# File 'lib/swagcov/openapi_files.rb', line 5 def initialize filepaths: @filepaths = filepaths @openapi_paths = load_yamls @openapi_path_keys = @openapi_paths.keys end |
Instance Method Details
#find_response_keys(path:, route_verb:) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'lib/swagcov/openapi_files.rb', line 11 def find_response_keys path:, route_verb: # replace :id with {id} regex = ::Regexp.new("^#{path.gsub(%r{:[^/]+}, '\\{[^/]+\\}')}?$") matching_paths_key = @openapi_path_keys.grep(regex).first matching_request_method_key = @openapi_paths.dig(matching_paths_key, route_verb.downcase) matching_request_method_key["responses"].keys.map(&:to_s).sort if matching_request_method_key end |