blob: 5940480406cd835ec2445d465e230295bed1a9b5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
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
|
require 'yaml'
configpath = ARGV[0]
outputpath = ARGV[1]
config = YAML.load_file(configpath)
output = config.map do |panel|
ret = panel
if ret["color"].kind_of? String
ret["color"] = [ret["color"]]
end
ret
end.map do |panel|
ret = {}
ret["id"] = "\"#{panel["id"]}\""
ret["color"] = "[\"" + panel["color"].join("\",\"") + "\"]"
ret["tag"] = "\"#{panel["tag"]}\""
if panel.include? "subtag"
ret["subtag"] = "\"#{panel["subtag"]}\""
end
if panel.include? "link"
ret["link"] = "\"#{panel["link"]}\""
end
if panel.include? "copy_to_sign"
copytos = []
if panel["copy_to_sign"].kind_of? String
copytos = [panel["copy_to_sign"]]
else
copytos = panel["copy_to_sign"]
end
ret["copy_to_sign"] = "[\"" + copytos.join("\",\"") + "\"]"
end
ret
end.map do |panel|
"{" + panel.to_a.map do |element|
"\"#{element[0]}\":#{element[1]}"
end.join(",") + "}"
end.join(",")
header = "extends Node\n\nvar panels = ["
footer = "]"
File.write(outputpath, header + output + footer)
|