Module: NXT::Utils::Accessors
- Includes:
- Assertions
- Included in:
- Command::Input, Command::LowSpeed, Command::Output, Connector::Input::Ultrasonic, Connector::Output::Motor
- Defined in:
- lib/nxt/utils/accessors.rb
Overview
Utilities related to creating accessors that have some conditonal guards when setting values.
Instance Method Summary collapse
Methods included from Assertions
#assert_in, #assert_responds_to, #assert_type
Instance Method Details
#attr_setter(name, options) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/nxt/utils/accessors.rb', line 10 def attr_setter(name, ) define_method("#{name}=") do |value| assert_type(name, value, [:is]) if .include?(:is) assert_in(name, value, [:is_key_in]) if .include?(:is_key_in) instance_variable_set("@#{name}", value) self end end |