All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.3.3 - 2024-10-14
- Fix coverage for Minitest. (@skryukov)
0.3.2 - 2024-06-24
- Fix deprecation
MiniTest::Unit.after_tests is now Minitest.after_run
. (@barnaclebarnes) - Exclude test helpers from eager loading. (@skryukov)
- Update oas-3.1 base schema. (@skryukov)
0.3.1 - 2024-04-11
-
Add coverage for tested API operations. (@skryukov)
# spec/rails_helper.rb RSpec.configure do |config| # To enable coverage, pass `coverage: :report` option, # and to raise an error when an operation is not covered, pass `coverage: :strict` option: config.include Skooma::RSpec[Rails.root.join("docs", "openapi.yml"), coverage: :report], type: :request end
$ bundle exec rspec # ... OpenAPI schema /openapi.yml coverage report: 110 / 194 operations (56.7%) covered. Uncovered paths: GET /api/uncovered 200 GET /api/partially_covered 403 # ...
0.3.0 - 2024-04-09
-
BREAKING CHANGE: Pass
headers
parameter to registeredBodyParsers
. (@skryukov)# Before: Skooma::BodyParsers.register("application/xml", ->(body) { Hash.from_xml(body) }) # After: Skooma::BodyParsers.register("application/xml", ->(body, headers:) { Hash.from_xml(body) })
- Fix wrong path when combined with Rails exceptions_app. (@ursm)
0.2.3 - 2024-01-18
- Add support for multiple OpenAPI documents. (@skryukov)
- Fix
Skooma::Error: Missing name key /request
by settingcontent
andrequired
keyword dependencies. (@skryukov)
0.2.2 - 2024-01-04
-
Add support for APIs mounted under a path prefix. (@skryukov)
# spec/rails_helper.rb RSpec.configure do |config| # ... path_to_openapi = Rails.root.join("docs", "openapi.yml") # pass path_prefix option if your API is mounted under a prefix: config.include Skooma::RSpec[path_to_openapi, path_prefix: "/internal/api"], type: :request end
- Bump
json_skooma
version to~> 0.2.0
. (@skryukov)
- Better checks to automatic request/response detection to prevent methods overrides via RSpec helpers (i.e.
subject(:response)
). (@skryukov) - Fail response validation when expected response code or
responses
keyword aren't listed. (@skryukov)
0.2.1 - 2023-10-23
- Raise error when parameter attributes misses required keys. (@skryukov)
- Fix output format. (@skryukov)
0.2.0 - 2023-10-23
- Fix Zeitwerk eager loading. (@skryukov)
0.1.0 - 2023-09-27
- Initial implementation. (@skryukov)