ext/cumo/narray/gen/erbpp2.rb in cumo-0.1.0 vs ext/cumo/narray/gen/erbpp2.rb in cumo-0.1.1

- old
+ new

@@ -1,6 +1,7 @@ require "erb" +require_relative "erbln" class ErbPP def initialize(parent=nil, erb_base=nil, **opts, &block) @parent = parent @@ -64,12 +65,16 @@ dirs = [dirs] if !dirs.kind_of?(Array) dirs.each do |x| Dir.glob(x).each do |dir| path = File.join(dir,file) if File.exist?(path) - erb = ERB.new(File.read(path), safe_level, trim_mode) - erb.filename = path + if get(:line_number) + erb = ERBLN.new(File.read(path), path, trim_mode) + else + erb = ERB.new(File.read(path), safe_level, trim_mode) + erb.filename = path + end return erb end end end nil @@ -117,19 +122,19 @@ def initialize(parent=nil, **opts, &block) opts[:erb_base] ||= 'lib' opts[:include_files] ||= [] super(parent, **opts, &block) end - def id_assign + def cumo_id_assign ids = [] - @children.each{|c| a=c.get(:id_list); ids.concat(a) if a} - ids.sort.uniq.map{|x| "id_#{x[1]} = rb_intern(\"#{x[0]}\");"} + @children.each{|c| a=c.get(:cumo_id_list); ids.concat(a) if a} + ids.sort.uniq.map{|x| "cumo_id_#{x[1]} = rb_intern(\"#{x[0]}\");"} end - def id_decl + def cumo_id_decl ids = [] - @children.each{|c| a=c.get(:id_list); ids.concat(a) if a} - ids.sort.uniq.map{|x| "static ID id_#{x[1]};\n"} + @children.each{|c| a=c.get(:cumo_id_list); ids.concat(a) if a} + ids.sort.uniq.map{|x| "static ID cumo_id_#{x[1]};\n"} end def def_class(**opts, &block) DefClass.new(self, **opts, &block) end def def_module(**opts, &block) @@ -171,16 +176,16 @@ include DeclMethod def initialize(parent, **opts, &block) eb = opts[:erb_base] || 'module' super(parent, erb_base:eb, **opts, &block) end - def id_list - @id_list ||= [] + def cumo_id_list + @cumo_id_list ||= [] end def def_id(name,var=nil) var = name.gsub(/\?/,"_p").gsub(/\!/,"_bang") if var.nil? - id_list << [name,var] + cumo_id_list << [name,var] end def init_def load_erb(init_erb).result(binding) end def init_erb @@ -219,14 +224,14 @@ def initialize(parent, erb_base, **opts, &block) super(parent, **opts, &block) set erb_base: erb_base end - def id_op + def cumo_id_op if op.size == 1 "'#{op}'" else - "id_#{c_name}" + "cumo_id_#{c_name}" end end def c_name @opts[:name].gsub(/\?/,"_p").gsub(/\!/,"_bang").gsub(/=/,"_set")