Skip to content

Commit fad8895

Browse files
Add CoffeeScript parser
1 parent 4f487ad commit fad8895

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

ruby_files/generate.rb

+3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
require './generate_haml.rb'
99
require './generate_sass.rb'
10+
require './generate_coffeeScript.rb'
1011

1112
def generate_files
1213
FileUtils.rm_rf(Dir.glob("../web_root/*"))
@@ -18,6 +19,7 @@ def generate_files
1819
create_structure_for(folder)
1920
generate_haml_for(folder)
2021
generate_sass_for(folder)
22+
generate_coffee_for(folder)
2123
end
2224
end
2325

@@ -26,6 +28,7 @@ def create_structure_for(folder)
2628

2729
FileUtils::mkdir_p "../web_root/#{folder}/"
2830
FileUtils::mkdir_p "../web_root/#{folder}/css/"
31+
FileUtils::mkdir_p "../web_root/#{folder}/js/"
2932
end
3033

3134
if __FILE__==$0

ruby_files/generate_coffeeScript.rb

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/usr/bin/env ruby
2+
3+
require "rubygems"
4+
require "bundler/setup"
5+
6+
require 'fileutils'
7+
require 'coffee-script'
8+
9+
10+
class CoffeeGenerator
11+
def initialize
12+
@output_dir = "../web_root/"
13+
end
14+
15+
def generate(folder, input_file)
16+
output = CoffeeScript.compile(File.read("../dev_root/#{folder}/coffee_files/#{input_file}"))
17+
18+
19+
file_name_a = input_file.split('.')
20+
file_name = file_name_a.take(file_name_a.size-1) * '.'
21+
22+
output_path = File.join("#{@output_dir}#{folder}/js/", "#{file_name}.js")
23+
File.open(output_path, "w") do |f|
24+
f.write output
25+
end
26+
end
27+
end
28+
29+
def generate_coffee_for(folder)
30+
g = CoffeeGenerator.new
31+
Dir.glob("../dev_root/#{folder}/coffee_files/*.coffee").select do |file|
32+
file_name = file.split('/')[-1]
33+
next unless File.file? file
34+
g.generate folder, file_name
35+
end
36+
37+
end

0 commit comments

Comments
 (0)