13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/excel2local.rb', line 13
def self.localize! (excel_file, save_place)
puts "Excel2local::localize! from #{excel_file} ---> to #{save_place}/"
workbook = Roo::Excelx.new(excel_file)
yml_file = []
simbol_memory = []
workbook.each_with_index {|row, row_index|
if (row_index == 0) then
row.each_with_index { |col, col_index|
File.open("#{save_place}/#{File.basename(excel_file, ".xlsx")}_#{col}.yml", "w") { |file| file.puts "#{col}:" } if col_index != 0 && col != "#"
yml_file[col_index] = col
simbol_memory[col_index] = []
}
else
row.each_with_index { |col, col_index|
@simbol = col if col_index == 0
if (col_index != 0) and (@simbol != nil ) and (col != nil)
@simbol.to_s.split(".").each_with_index { | simbol, index |
simbol = "\'" + simbol + "\'" if [ "true", "false", "on", "off", "yes", "no" ].member?(simbol)
if simbol != simbol_memory[col_index][index] then
File.open("#{save_place}/#{File.basename(excel_file, ".xlsx")}_#{yml_file[col_index]}.yml", "a") { |file| file.print " "*(index+1) + "#{simbol}:" } if @simbol.to_s.split(".").length - 1 == index
File.open("#{save_place}/#{File.basename(excel_file, ".xlsx")}_#{yml_file[col_index]}.yml", "a") { |file| file.puts " "*(index+1) + "#{simbol}:" } if @simbol.to_s.split(".").length - 1 != index
index.upto(@simbol.to_s.split(".").length ) { |n| simbol_memory[col_index].delete_at(n)}
end
simbol_memory[col_index][index] = simbol
}
File.open("#{save_place}/#{File.basename(excel_file, ".xlsx")}_#{yml_file[col_index]}.yml", "a") { |file| file.puts " \'#{col}\'" }
end
}
end
}
end
|