Sha256: 0fac3cb83d37720cbbb50312571ab7c71e62cf83828222ef04745ba516523c9c
Contents?: true
Size: 725 Bytes
Versions: 23
Compression:
Stored size: 725 Bytes
Contents
# frozen_string_literal: true module Marameters # Builds a single parameter of a method's parameter signature. class Builder def initialize defaulter: Defaulter @defaulter = defaulter end def call kind, name, default: nil case kind when :req then name when :opt then "#{name} = #{defaulter.call default}" when :rest then "*#{name}" when :keyreq then "#{name}:" when :key then "#{name}: #{defaulter.call default}" when :keyrest then "**#{name}" when :block then "&#{name}" else fail ArgumentError, "Wrong kind (#{kind}), name (#{name}), or default (#{default})." end end private attr_reader :defaulter end end
Version data entries
23 entries across 23 versions & 1 rubygems