module BinData::BasePrimitive::AssertPlugin

Logic for the :assert parameter

Public Instance Methods

assert!() click to toggle source
# File lib/bindata/base_primitive.rb, line 180
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
assign(val) click to toggle source
Calls superclass method
# File lib/bindata/base_primitive.rb, line 170
def assign(val)
  super(val)
  assert!
end