Class: Rugular::Build
- Inherits:
-
Thor::Group
- Object
- Thor::Group
- Rugular::Build
- Includes:
- Thor::Actions
- Defined in:
- lib/rugular/tasks/build.rb
Instance Method Summary collapse
- #add_template_application_sass_file ⇒ Object
- #compile_bower_javascript ⇒ Object
- #compile_bower_stylesheets ⇒ Object
- #copy_fonts ⇒ Object
- #copy_images ⇒ Object
- #create_application_css_file ⇒ Object
- #create_application_js_file ⇒ Object
- #create_dist_folder ⇒ Object
- #inline_template_url_files ⇒ Object
- #write_dist_index_html_file ⇒ Object
Instance Method Details
#add_template_application_sass_file ⇒ Object
61 62 63 64 65 66 |
# File 'lib/rugular/tasks/build.rb', line 61 def add_template_application_sass_file FileUtils.cp( "#{lib_directory}/templates/server/application.sass", "#{destination_root}/.application.sass" ) end |
#compile_bower_javascript ⇒ Object
25 26 27 28 29 |
# File 'lib/rugular/tasks/build.rb', line 25 def compile_bower_javascript File.open('dist/vendor.js', 'w') do |file| file.write(Uglifier.compile(bower_and_vendor_javascript)) end end |
#compile_bower_stylesheets ⇒ Object
31 32 33 34 35 |
# File 'lib/rugular/tasks/build.rb', line 31 def compile_bower_stylesheets File.open('dist/vendor.css', 'w') do |file| file.write bower_css end end |
#copy_fonts ⇒ Object
76 77 78 |
# File 'lib/rugular/tasks/build.rb', line 76 def copy_fonts FileUtils.cp_r('src/fonts', 'dist') end |
#copy_images ⇒ Object
72 73 74 |
# File 'lib/rugular/tasks/build.rb', line 72 def copy_images FileUtils.cp_r('src/images', 'dist') end |
#create_application_css_file ⇒ Object
68 69 70 |
# File 'lib/rugular/tasks/build.rb', line 68 def create_application_css_file `sass .application.sass dist/application.css -r sass-globbing` end |
#create_application_js_file ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/rugular/tasks/build.rb', line 37 def create_application_js_file File.open('dist/application.js', 'w') do |file| file.write( Uglifier.compile( javascript_files.map do |file| text = File.read(file).gsub('templateUrl', 'template') CoffeeScript.compile(text) end.join ) ) end end |
#create_dist_folder ⇒ Object
15 16 17 |
# File 'lib/rugular/tasks/build.rb', line 15 def create_dist_folder FileUtils.mkdir_p('./dist') unless File.directory? './dist' end |
#inline_template_url_files ⇒ Object
50 51 52 53 54 55 56 57 58 59 |
# File 'lib/rugular/tasks/build.rb', line 50 def inline_template_url_files (Dir.glob("**/*.haml") - ["src/index.haml"]).each do |haml_file| haml_html = ::Haml::Engine.new(File.read(haml_file), {}).render html = haml_html.tr("\n", '').gsub("'", "\'").gsub('"', '\"') html_filename = haml_file.gsub('src/', '').gsub('haml', 'html') IO.write('dist/application.js', File.open('dist/application.js') do |f| f.read.gsub(html_filename, html) end) end end |
#write_dist_index_html_file ⇒ Object
19 20 21 22 23 |
# File 'lib/rugular/tasks/build.rb', line 19 def write_dist_index_html_file File.open('dist/index.html', 'w') do |file| file.write ::Haml::Engine.new(File.read('src/index.haml')).render end end |