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")