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
- #assert_in(name, value, values) ⇒ Object
- #assert_responds_to(name, value, *methods) ⇒ Object
- #assert_type(name, value, type) ⇒ Object
Instance Method Details
#assert_in(name, value, values) ⇒ Object
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
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
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 |