diff --git a/lib/faraday/rack_builder.rb b/lib/faraday/rack_builder.rb index 8f6fa43ea..33ba562c3 100644 --- a/lib/faraday/rack_builder.rb +++ b/lib/faraday/rack_builder.rb @@ -131,7 +131,7 @@ def locked? insert(index + 1, *args, &block) end - def swap(index, *args, &block) + ruby2_keywords def swap(index, *args, &block) raise_if_locked index = assert_index(index) @handlers.delete_at(index) diff --git a/spec/faraday/rack_builder_spec.rb b/spec/faraday/rack_builder_spec.rb index 593315f38..3f0d68db3 100644 --- a/spec/faraday/rack_builder_spec.rb +++ b/spec/faraday/rack_builder_spec.rb @@ -328,5 +328,14 @@ def initialize(app, name:) ).to_stderr expect(rock.name).to eq('Rocky') end + + it 'adds a handler with options passed to swap' do + subject.insert 0, rock_handler, name: 'Flint' + subject.swap 0, rock_handler, name: 'Chert' + expect { rock }.to_not output( + /warning: Using the last argument as keyword parameters is deprecated/ + ).to_stderr + expect(rock.name).to eq('Chert') + end end end