diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c74a49..f04ce3c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,8 @@ ## [2.1.2] - Unreleased -### Changed or Fixed or Added -- Your contribution here. +### Changed +- [#93](https://github.com/aserafin/grape_logging/pull/93) RequestLogger middleware to handle Grape 2.4 breaking change - [@devsigner](https://github.com/devsigner) and [@samsonjs](https://github.com/samsonjs). [2.1.2]: https://github.com/aserafin/grape_logging/compare/v2.1.1...master diff --git a/grape_logging.gemspec b/grape_logging.gemspec index 636aaa2..455251f 100644 --- a/grape_logging.gemspec +++ b/grape_logging.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] - spec.add_dependency 'grape', '< 2.4.0' + spec.add_dependency 'grape', '>= 2.4.0' spec.add_dependency 'rack' spec.add_development_dependency 'rake', '~> 13.3' diff --git a/lib/grape_logging/middleware/request_logger.rb b/lib/grape_logging/middleware/request_logger.rb index c9e22ed..9c8a351 100644 --- a/lib/grape_logging/middleware/request_logger.rb +++ b/lib/grape_logging/middleware/request_logger.rb @@ -14,7 +14,7 @@ class RequestLogger < Grape::Middleware::Base # to use int in parameters attr_accessor :response_status, :response_body - def initialize(app, options = {}) + def initialize(app, **options) super @included_loggers = @options[:include] || [] diff --git a/spec/lib/grape_logging/middleware/request_logger_spec.rb b/spec/lib/grape_logging/middleware/request_logger_spec.rb index fb03534..089d857 100644 --- a/spec/lib/grape_logging/middleware/request_logger_spec.rb +++ b/spec/lib/grape_logging/middleware/request_logger_spec.rb @@ -5,7 +5,7 @@ let(:env) { { 'action_dispatch.request_id' => 'request-abc123' } } let(:subject) { request.send(request_method, path, env) } let(:app) { proc { [status, {}, ['response body']] } } - let(:stack) { described_class.new app, options } + let(:stack) { described_class.new app, **options } let(:request) { Rack::MockRequest.new(stack) } let(:options) { { include: [], logger: logger } } let(:logger) { double('logger') }