Module: BinData::ClassParametersPlugin
- Included in:
- PascalString, Peek, Pointer
- Defined in:
- lib/binproxy/bd_util.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Class Method Details
.included(obj_class) ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/binproxy/bd_util.rb', line 73 def self.included(obj_class) # Wrap the obj_class's existing arg_processor old_arg_processor = obj_class.arg_processor new_arg_processor = ArgProcessorWrapper.new(old_arg_processor) do |obj_class,params| class_params = obj_class.class_eval {@class_params} || [] class_params.each do |type| if params.needs_sanitizing?(type) t,p = params[type] params[type] = params.create_sanitized_object_prototype(t,p) end end end obj_class.class_eval do @arg_processor = new_arg_processor end # add class_parameter(:foo) to our class methods / DSL obj_class.extend ClassMethods end |