Sha256: 780acd22aad54de1b8c3bb07baabd591e156fff155a07c10cfaf5e139c668d81
Contents?: true
Size: 683 Bytes
Versions: 2
Compression:
Stored size: 683 Bytes
Contents
module Mocktail class Signature < Struct.new( :positional_params, :positional_args, :keyword_params, :keyword_args, :block_param, :block_arg, keyword_init: true ) DEFAULT_REST_ARGS = "args" DEFAULT_REST_KWARGS = "kwargs" DEFAULT_BLOCK_PARAM = "blk" end class Params < Struct.new( :all, :required, :optional, :rest, keyword_init: true ) def initialize(**params) super self.all ||= [] self.required ||= [] self.optional ||= [] end def allowed all.select { |name| required.include?(name) || optional.include?(name) } end def rest? !!rest end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mocktail-1.2.2 | lib/mocktail/value/signature.rb |
mocktail-1.2.1 | lib/mocktail/value/signature.rb |