Module: Test::TypeCheck

Included in:
Span, SpanContext, Tracer
Defined in:
lib/test/type_check.rb

Defined Under Namespace

Classes: NullError

Instance Method Summary collapse

Instance Method Details

#Argument!(expression, message = "Illegal argument") ⇒ Object

Raises:

  • (ArgumentError)


19
20
21
# File 'lib/test/type_check.rb', line 19

def Argument!(expression, message = "Illegal argument")
  raise ArgumentError, message unless expression
end

#NotNull!(value) ⇒ Object

Raises:



15
16
17
# File 'lib/test/type_check.rb', line 15

def NotNull!(value)
  raise NullError, "Value must not be nil" unless value
end

#Type!(value, *types) ⇒ Object



9
10
11
12
13
# File 'lib/test/type_check.rb', line 9

def Type!(value, *types)
  Type?(value, *types) or
    raise TypeError, "Value (#{value.class}) '#{value}' is not any of: #{types.join('; ')}."
  value
end

#Type?(value, *types) ⇒ Boolean

Returns:

  • (Boolean)


5
6
7
# File 'lib/test/type_check.rb', line 5

def Type?(value, *types)
  types.any? { |t| value.is_a? t }
end