(runtime parameters, kw: args, for: dependency, injection: true)
.new
and #initialize
(which is done by subclasses here), you’d just define .call
.call(foo, bar)
effectively goes .new(something_here_maybe).call(foo, bar)
or something?
bar
in call, you're very right
Kwargs
strategy (https://github.com/dry-rb/dry-auto_inject/blob/master/lib/dry/auto_inject/strategies/kwargs.rb)
params:
and then just go kwargs for everything
reader: :private
as a pattern, then you would like new using
method in dry-initializer:Hey all, was upgrading to the 0.10 series from the 0.9 series and I'm getting errors in the schemas that use rules with custom predicates...
"ArgumentError: unique_npi_number? predicate arity is invalid"
configure do
def unique_npi_number?(id, org_uid, npi_number)
return true if npi_number.nil?
existing_provider = Provider.find(org_uid: org_uid, npi_number: npi_number)
if existing_provider && existing_provider[:provider_uid] != id
false
else
true
end
end
end
...
rule(unique_npi_number: [:id, :org_uid, :npi_number]) do |id, org_uid, npi_number|
npi_number.unique_npi_number?(npi_number, org_uid, id)
end
was working just fine on the 0.9 series
npi_number.unique_npi_number?(org_uid, id)
should do the trick