Sha256: 798802164b529c68ff1d534a1dffa3649b197fbbabea0d5a88d070089d4c13c6
Contents?: true
Size: 633 Bytes
Versions: 13
Compression:
Stored size: 633 Bytes
Contents
module Mocktail class ReconcilesArgsWithParams 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
13 entries across 13 versions & 1 rubygems