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