This repository has been archived on 2020-04-11. You can view files and clone it, but cannot push or open issues or pull requests.
gnoemoe/gnoemoe/genclass.rb

48 lines
853 B
Ruby

#!/usr/bin/ruby
def replaceAll(line, subst)
subst.each do |sub,rep|
line = line.gsub('{' + sub + '}', rep)
end
return line
end
def degenerateCaps(text)
text = text.gsub(/[A-Z]+[a-z]+/) do |s|
s.downcase + '_'
end
return text[0..-2]
end
subst = {}
name = ARGV[0]
if (name == nil) then
print "Class name (capitalized): "
name = gets[0..-2]
end
subst['template_'] = degenerateCaps(name)
subst['template-'] = subst['template_'].sub('_', '-')
subst['TEMPLATE'] = subst['template_'].upcase
subst['Template'] = name
tc = IO.readlines("template.c")
th = IO.readlines("template.h")
f = File.open('gm-' + subst['template-'] + '.c', 'w')
tc.each do |line|
f.write(replaceAll(line, subst))
end
f.close
f = File.open('gm-' + subst['template-'] + '.h', 'w')
th.each do |line|
f.write(replaceAll(line, subst))
end
f.close
print "Done ...\n"