Module: NXT::Utils::Assertions

Included in:
Connector::Input::Ultrasonic, Connector::Output::Motor, Accessors, NXTBrick
Defined in:
lib/nxt/utils/assertions.rb

Overview

Utilities related to asserting values are what is expected.

Instance Method Summary collapse

Instance Method Details

#assert_in(name, value, values) ⇒ Object

Raises:

  • (TypeError)


7
8
9
# File 'lib/nxt/utils/assertions.rb', line 7

def assert_in(name, value, values)
  raise(TypeError, "Expected #{name} to be one of: :#{values.join(', :')}") unless values.include?(value)
end

#assert_responds_to(name, value, *methods) ⇒ Object

Raises:

  • (TypeError)


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

def assert_responds_to(name, value, *methods)
  valid = methods.all? do |method|
    value.respond_to?(method)
  end

  raise(TypeError, "Expected #{name} to respond to: #{methods.join(', ')}") unless valid
end

#assert_type(name, value, type) ⇒ Object

Raises:

  • (TypeError)


11
12
13
# File 'lib/nxt/utils/assertions.rb', line 11

def assert_type(name, value, type)
  raise(TypeError, "Expected #{name} to be of type #{type}") unless value.is_a?(type)
end