Module: UV::Assertions

Included in:
File, Filesystem, Handle, Loop, Signal, Timer
Defined in:
lib/uv/assertions.rb

Instance Method Summary collapse

Instance Method Details

#assert_arity(expected, proc, msg = nil) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/uv/assertions.rb', line 7

def assert_arity(expected, proc, msg = nil)
  actual = proc.arity
  if expected != actual
    arg  = expected == 1 ? "argument" : "arguments"
    msg  ||= "block must accept #{expected} #{arg}, but accepts #{actual}"
    raise ArgumentError, msg, caller
  end
end

#assert_block(proc, msg = "no block given") ⇒ Object

Raises:

  • (ArgumentError)


3
4
5
# File 'lib/uv/assertions.rb', line 3

def assert_block(proc, msg = "no block given")
  raise ArgumentError, msg, caller if proc.nil?
end

#assert_boolean(actual, msg = nil) ⇒ Object



23
24
25
26
27
28
# File 'lib/uv/assertions.rb', line 23

def assert_boolean(actual, msg = nil)
  if not (actual.kind_of?(TrueClass) || actual.kind_of?(FalseClass))
    msg ||= "value #{actual.inspect} is not a valid Boolean"
    raise ArgumentError, msg, caller
  end
end

#assert_signal(signo, msg = nil) ⇒ Object



30
31
32
33
34
35
# File 'lib/uv/assertions.rb', line 30

def assert_signal(signo, msg = nil)
  if not ::Signal.list.values.include?(signo)
    msg ||= "undefined signal number: #{signo}"
    raise ArgumentError, msg, caller
  end
end

#assert_type(type, actual, msg = nil) ⇒ Object



16
17
18
19
20
21
# File 'lib/uv/assertions.rb', line 16

def assert_type(type, actual, msg = nil)
  if not actual.kind_of?(type)
    msg ||= "value #{actual.inspect} is not a valid #{type}"
    raise ArgumentError, msg, caller
  end
end