class BLE::CharDesc
Attributes
desc[R]
Public Class Methods
new(desc)
click to toggle source
@param desc [Hash] Descriptors.
# File lib/ble/char_desc.rb, line 8 def initialize(desc) @desc= desc end
Public Instance Methods
config()
click to toggle source
# File lib/ble/char_desc.rb, line 14 def config @config||= Characteristic[@desc[:uuid]] end
flag?(flag_name)
click to toggle source
# File lib/ble/char_desc.rb, line 21 def flag?(flag_name) flags.include?(flag_name) end
flags()
click to toggle source
# File lib/ble/char_desc.rb, line 11 def flags @flags||= @desc[:flags] end
post_process(val)
click to toggle source
# File lib/ble/char_desc.rb, line 58 def post_process(val) val = config[:in].call(val) if read_post_processor? end
pre_process(val)
click to toggle source
# File lib/ble/char_desc.rb, line 50 def pre_process(val) if verifier? && !verifies?(val) raise ArgumentError, "bad value for characteristic '#{uuid}'" end val = config[:out].call(val) if write_pre_processor? end
read_post_processor?()
click to toggle source
# File lib/ble/char_desc.rb, line 43 def read_post_processor? config[:in] end
read_processors?()
click to toggle source
Does incoming values have processors configured? If yes, the value needs to be post-processed after being received.
# File lib/ble/char_desc.rb, line 32 def read_processors? config && read_post_processor? end
uuid()
click to toggle source
# File lib/ble/char_desc.rb, line 18 def uuid @desc[:uuid] end
verifier?()
click to toggle source
It has been configured a verifier preprocessor to check outgoing data?
# File lib/ble/char_desc.rb, line 37 def verifier? config[:vrfy] end
verifies?(val)
click to toggle source
Is the received value verified by the verifier?
# File lib/ble/char_desc.rb, line 47 def verifies?(val) config[:vrfy].call(val) end
write_pre_processor?()
click to toggle source
# File lib/ble/char_desc.rb, line 40 def write_pre_processor? config[:out] end
write_processors?()
click to toggle source
Does outgoing values have processors configured? If yes, the value needs to be pre-processed before being send.
# File lib/ble/char_desc.rb, line 27 def write_processors? verifier? or write_pre_processor? end