class AtCoderFriends::Generator::Base
common behavior of generators
Attributes
cfg[R]
pbm[R]
Public Class Methods
new(cfg = nil)
click to toggle source
# File lib/at_coder_friends/generator/base.rb, line 13 def initialize(cfg = nil) @cfg = cfg || {} end
Public Instance Methods
embed_lines(src, pat, lines)
click to toggle source
# File lib/at_coder_friends/generator/base.rb, line 33 def embed_lines(src, pat, lines) re = Regexp.escape(pat) src.gsub( /^(.*)#{re}(.*)$\n/, lines.compact.map { |s| "\\1#{s}\\2\n" }.join ) end
generate(pbm)
click to toggle source
# File lib/at_coder_friends/generator/base.rb, line 21 def generate(pbm) @pbm = pbm src = File.read(select_template) src = ERB.new(src, safe_level = nil, trim_mode = '-').result(binding) src = render(src) if respond_to?(:render) src end
process(pbm)
click to toggle source
# File lib/at_coder_friends/generator/base.rb, line 17 def process(pbm) pbm.add_src(attrs.file_ext, generate(pbm)) end
select_template()
click to toggle source
# File lib/at_coder_friends/generator/base.rb, line 29 def select_template cfg['default_template'] || attrs.default_template end