Sha256: cb96e4355ed19e131c4fa63d532b67bd625462141cf03fc6a46941f83af440fa
Contents?: true
Size: 652 Bytes
Versions: 1
Compression:
Stored size: 652 Bytes
Contents
module Mocktail class ReconcilesArgsWithParams extend T::Sig def reconcile(signature) args_match?(signature.positional_params, signature.positional_args) && kwargs_match?(signature.keyword_params, signature.keyword_args) end private def args_match?(arg_params, args) args.size >= arg_params.required.size && (arg_params.rest? || args.size <= arg_params.allowed.size) end def kwargs_match?(kwarg_params, kwargs) kwarg_params.required.all? { |name| kwargs.key?(name) } && (kwarg_params.rest? || kwargs.keys.all? { |name| kwarg_params.allowed.include?(name) }) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mocktail-2.0.0 | lib/mocktail/simulates_argument_error/reconciles_args_with_params.rb |