File tree Expand file tree Collapse file tree 2 files changed +18
-1
lines changed
lib/dry/auto_inject/strategies Expand file tree Collapse file tree 2 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -16,7 +16,7 @@ def define_new
1616
1717 define_method :new do |*args , **kwargs |
1818 map . each do |name , identifier |
19- kwargs [ name ] || = container [ identifier ]
19+ kwargs [ name ] = container [ identifier ] unless kwargs . key? ( name )
2020 end
2121
2222 super ( *args , **kwargs )
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ RSpec . describe "kwargs" do
4+ it "supports explicit injection of falsey values" do
5+ module Test
6+ AutoInject = Dry ::AutoInject ( one : "dep 1" )
7+ end
8+
9+ obj = Class . new do
10+ include Test ::AutoInject [ :one ]
11+ end
12+
13+ expect ( obj . new . one ) . to eq "dep 1"
14+ expect ( obj . new ( one : false ) . one ) . to be false
15+ expect ( obj . new ( one : nil ) . one ) . to be nil
16+ end
17+ end
You can’t perform that action at this time.
0 commit comments