Sha256: b67f758e970a29b5a495ecbe252cd2dc304a81da64c2153d4c1bea616f35ae37
Contents?: true
Size: 881 Bytes
Versions: 1
Compression:
Stored size: 881 Bytes
Contents
# typed: strict module Mocktail class Params < T::Struct extend T::Sig prop :all, T::Array[Symbol], default: [] prop :required, T::Array[Symbol], default: [] prop :optional, T::Array[Symbol], default: [] prop :rest, T.nilable(Symbol) sig { returns(T::Array[Symbol]) } def allowed all.select { |name| required.include?(name) || optional.include?(name) } end sig { returns(T::Boolean) } def rest? !!rest end end class Signature < T::Struct const :positional_params, Params const :positional_args, T::Array[T.anything] const :keyword_params, Params const :keyword_args, T::Hash[Symbol, T.anything] const :block_param, T.nilable(Symbol) const :block_arg, T.nilable(Proc), default: nil DEFAULT_REST_ARGS = "args" DEFAULT_REST_KWARGS = "kwargs" DEFAULT_BLOCK_PARAM = "blk" end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mocktail-2.0.0 | lib/mocktail/sorbet/mocktail/value/signature.rb |