class BinaryParser::FreeCondition

Public Class Methods

new(&condition_proc) click to toggle source
# File lib/binary_parser/general_class/free_condition.rb, line 3
def initialize(&condition_proc)
  @condition_proc = condition_proc
end

Public Instance Methods

eval(&name_eval_proc) click to toggle source
# File lib/binary_parser/general_class/free_condition.rb, line 7
def eval(&name_eval_proc)
  @name_eval_proc = name_eval_proc
  return Proxy.new(self, []).instance_eval(&@condition_proc)
end
symbol_call(symbol, *args, &block) click to toggle source
# File lib/binary_parser/general_class/free_condition.rb, line 12
def symbol_call(symbol, *args, &block)
  if symbol == :nextbits && args.length == 1
    @name_eval_proc.call(Expression.nextbits_var(args[0]))
  else
    @name_eval_proc.call(Expression.value_var(symbol))
  end
end