class FileSorter
Attributes
css_files[R]
font_files[R]
images[R]
js_files[R]
Public Class Methods
new(theme_orig)
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 18 def initialize(theme_orig) @theme_orig = theme_orig end
Public Instance Methods
compile_and_move_sass()
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 125 def compile_and_move_sass files_to_compile = [] @sass_files.each do |sass_file| file_name = File.basename(sass_file, '.*') files_to_compile << [sass_file, "#{Rails.root}/vendor/assets/imported_theme/stylesheets/#{file_name}.css"] end Sass::Plugin.options[:cache] = false Sass::Plugin.update_stylesheets(files_to_compile) end
create_imported_theme_dir()
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 45 def create_imported_theme_dir # vendor assets directory for css and js files unless Dir.exist?("#{Rails.root}/vendor/assets") Dir.mkdir("#{Rails.root}/vendor/assets") end unless Dir.exist?("#{Rails.root}/vendor/assets/imported_theme") Dir.mkdir("#{Rails.root}/vendor/assets/imported_theme") end #public assets directory for fonts and images unless Dir.exist?("#{Rails.root}/public/assets") Dir.mkdir("#{Rails.root}/public/assets") end unless Dir.exist?("#{Rails.root}/public/assets/imported_theme") Dir.mkdir("#{Rails.root}/public/assets/imported_theme") end end
find_css()
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 22 def find_css @css_files = Dir.glob("#{@theme_orig}/**/*.css") end
find_font_files()
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 37 def find_font_files @font_files = Dir.glob("#{@theme_orig}/**/*{#{FONT_EXTENSIONS.join(',')}}") end
find_images()
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 41 def find_images @images = Dir.glob("#{@theme_orig}/**/*{#{IMAGE_EXTENSIONS.join(',')}}") end
find_js()
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 33 def find_js @js_files = Dir.glob("#{@theme_orig}/**/*{.js,.coffee}") end
find_sass()
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 26 def find_sass @sass_files = Dir.glob("#{@theme_orig}/**/*.scss") #ignore partials @sass_files.delete_if {|file| /^_.*/.match(File.basename(file))} end
generate_css_manifest()
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 135 def generate_css_manifest unless @css_files.nil? create_imported_theme_dir manifest_file = File.open("#{Rails.root}/vendor/assets/imported_theme/imported_theme.css", "w") manifest_file.puts("/*") @css_files.each do |css_file| css_file_name = File.basename(css_file) manifest_file.puts("*= require stylesheets/#{css_file_name}") end @sass_files.each do |sass_file| sass_file_name = File.basename(sass_file, '.*') manifest_file.puts("*= require stylesheets/#{sass_file_name}.css") end manifest_file.puts("*/") manifest_file.close end end
generate_js_manifest()
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 154 def generate_js_manifest unless @js_files.nil? create_imported_theme_dir manifest_file = File.open("#{Rails.root}/vendor/assets/imported_theme/imported_theme.js", "w") @js_files.each do |js_file| js_file_name = File.basename(js_file) manifest_file.puts("//= require javascripts/#{js_file_name}") end manifest_file.close end end
move_css_files()
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 65 def move_css_files unless @css_files.nil? create_imported_theme_dir unless Dir.exist?("#{Rails.root}/vendor/assets/imported_theme/stylesheets") Dir.mkdir("#{Rails.root}/vendor/assets/imported_theme/stylesheets") end @css_files.each do |file| file_name = File.basename(file) FileUtils.cp(file, "#{Rails.root}/vendor/assets/imported_theme/stylesheets/#{file_name}") end end end
move_font_files()
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 95 def move_font_files unless @font_files.nil? create_imported_theme_dir unless Dir.exist?("#{Rails.root}/public/assets/imported_theme/fonts") Dir.mkdir("#{Rails.root}/public/assets/imported_theme/fonts") end @font_files.each do |file| file_name = File.basename(file) FileUtils.cp(file, "#{Rails.root}/public/assets/imported_theme/fonts/#{file_name}") end end end
move_images()
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 110 def move_images unless @images.nil? create_imported_theme_dir unless Dir.exist?("#{Rails.root}/public/assets/imported_theme/images") Dir.mkdir("#{Rails.root}/public/assets/imported_theme/images") end @images.each do |file| file_name = File.basename(file) FileUtils.cp(file, "#{Rails.root}/public/assets/imported_theme/images/#{file_name}") end end end
move_js_files()
click to toggle source
# File lib/theme_importer_rails/file_sorter.rb, line 80 def move_js_files unless @js_files.nil? create_imported_theme_dir unless Dir.exist?("#{Rails.root}/vendor/assets/imported_theme/javascripts") Dir.mkdir("#{Rails.root}/vendor/assets/imported_theme/javascripts") end @js_files.each do |file| file_name = File.basename(file) FileUtils.cp(file, "#{Rails.root}/vendor/assets/imported_theme/javascripts/#{file_name}") end end end