module ReSorcery::ArgCheck

Public Class Methods

[](name, value, *types) click to toggle source
# File lib/re_sorcery/arg_check.rb, line 5
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