app/models/concerns/ruby_to_block/block/hardware_button_pressed_or_released.rb
module RubyToBlock
module Block
class HardwareButtonPressedOrReleased < Value
include CharacterOperation
include HardwareOperation
blocknize '^\s*' + CHAR_RE +
'button\(' + DIO_PIN_RE + '\)\.(pressed|released)\?\s*$',
value: true
def self.process_match_data(md, context)
md2 = regexp.match(md[type])
character = get_character(context, md2[1])
return false if context.receiver && context.receiver != character
block = new(fields: { PIN: md2[2], POR: md2[3] })
context.add_value(block)
block.character = character
true
end
end
end
end