Sha256: 90e313f477fb31e4358de290dd65a6fd32403026d6a85d9cb095c59e6d918c07
Contents?: true
Size: 403 Bytes
Versions: 3
Compression:
Stored size: 403 Bytes
Contents
# frozen_string_literal: true module ReSorcery module ArgCheck def self.[](name, value, *types) return value if types.any? { |t| value.is_a?(t) } fn = caller_locations.first.label s = "`#{fn}` expected `#{name}` to be #{types.join(' or ')}; but got #{value.class}: #{value.inspect}" raise ReSorcery::Error::ArgumentError, s end end private_constant :ArgCheck end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
re_sorcery-0.3.0 | lib/re_sorcery/arg_check.rb |
re_sorcery-0.2.0 | lib/re_sorcery/arg_check.rb |
re_sorcery-0.1.0 | lib/re_sorcery/arg_check.rb |