39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/clapton/engine.rb', line 39
def compile_components
puts "Clapton: Compiling components"
start_time = Time.now
Dir.glob(Rails.root.join("app", "components", "**", "*.rb")).each do |file|
code = File.read(file)
js = ""
js += "import { Clapton } from 'components';"
js += "\n"
js += "import { c } from 'c';"
js += "\n"
Dir.glob(Rails.root.join("app", "components", "**", "*.rb")).each do |f|
if File.basename(file, ".rb") != File.basename(f, ".rb")
js += "import { #{File.basename(f, ".rb").camelize} } from '#{File.basename(f, ".rb").camelize}';"
js += "\n"
end
end
js += Ruby2JS.convert(code, preset: true)
js += "\n"
js += "export { #{File.basename(file, ".rb").camelize} };"
js += "\n"
File.write(Rails.root.join("public", "clapton", "#{File.basename(file, ".rb").camelize}.js"), js)
end
end_time = Time.now
puts "Clapton: Component compilation took #{end_time - start_time} seconds"
end
|