class MapSheetNamesToCNames

Public Class Methods

rewrite(*args) click to toggle source
# File src/compile/c/map_sheet_names_to_c_names.rb, line 3
def self.rewrite(*args)
  self.new.rewrite(*args)
end

Public Instance Methods

rewrite(input,output) click to toggle source
# File src/compile/c/map_sheet_names_to_c_names.rb, line 7
def rewrite(input,output)
  c_names_assigned = {}
  input.each_line do |line|
    excel_worksheet_name = line.split("\t").first
    c_name = excel_worksheet_name.downcase.gsub(/[^a-z0-9]+/,'_')
    c_name = "s"+c_name if c_name[0] !~ /[a-z]/
    c_name = c_name + "2" if c_names_assigned.has_key?(c_name)
    c_name.succ! while c_names_assigned.has_key?(c_name)
    output.puts "#{excel_worksheet_name}\t#{c_name}"
    c_names_assigned[c_name] = excel_worksheet_name
  end
end