Sha256: 991a49c1a5f9d32d68e901362fcbdab9cf05da9f2652b2b451406bdbb4da3f24
Contents?: true
Size: 592 Bytes
Versions: 2
Compression:
Stored size: 592 Bytes
Contents
# frozen_string_literal: true module Marameters module Signatures # Computes a method parameter's default value. Defaulter = lambda do |value, extractor: Sources::Extractor.new| case value when Proc fail TypeError, "Use procs instead of lambdas for defaults." if value.lambda? fail ArgumentError, "Avoid using parameters for proc defaults." if value.arity.nonzero? extractor.call value when String then value.dump when Symbol then value.inspect when nil then "nil" else value end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
marameters-4.0.1 | lib/marameters/signatures/defaulter.rb |
marameters-4.0.0 | lib/marameters/signatures/defaulter.rb |