module BinData::BasePrimitive::AssertPlugin
def assert!
def assert! current_value = snapshot expected = eval_parameter(:assert, value: current_value) msg = if !expected "value '#{current_value}' not as expected" elsif expected != true && current_value != expected "value is '#{current_value}' but expected '#{expected}'" else nil end raise ValidityError, "#{msg} for #{debug_name}" if msg end
def assign(val)
def assign(val) super(val) assert! end
def do_read(io) # :nodoc:
def do_read(io) # :nodoc: super(io) assert! end