Sha256: 7dc3be326040618a54038db8ccf536c7e625a3a5f5cfbf2b578aa758c76b315a
Contents?: true
Size: 992 Bytes
Versions: 6
Compression:
Stored size: 992 Bytes
Contents
# frozen_string_literal: true class Serega module SeregaValidations # # Validations Utilities # module Utils # # Utility to check that callable object has no required keyword arguments # class CheckExtraKeywordArg # Checks hash keys are allowed # # @param callable [#call] Callable object # @param callable_description [Symbol] Callable object description # # @raise [Serega::SeregaError] error if callable accepts required keyword argument # # @return [void] def self.call(callable, callable_description) parameters = callable.is_a?(Proc) ? callable.parameters : callable.method(:call).parameters parameters.each do |parameter| next unless parameter[0] == :keyreq raise Serega::SeregaError, "Invalid #{callable_description}. It should not have any required keyword arguments" end end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems