Sha256: 53b3e8421aa30e57bdf845373b8ef912239fb117a76913a9a12c4524fe5ecce8
Contents?: true
Size: 740 Bytes
Versions: 28
Compression:
Stored size: 740 Bytes
Contents
#Contains a couple shared methods for Processors. module ProcessorHelper #Sets the current module. def process_module exp @current_module = class_name(exp[1]).to_s process exp[2] @current_module = nil exp end #Returns a class name as a Symbol. def class_name exp case exp when Sexp case exp.node_type when :const exp[1] when :colon2 "#{class_name(exp[1])}::#{exp[2]}".to_sym when :colon3 "::#{exp[1]}".to_sym when :call process exp else raise "Error: Cannot get class name from #{exp}" end when Symbol exp when nil nil else raise "Error: Cannot get class name from #{exp}" end end end
Version data entries
28 entries across 28 versions & 2 rubygems