Class: WpFire::Compiler

Inherits:
Object
  • Object
show all
Defined in:
lib/wp_fire/compiler.rb

Class Method Summary collapse

Class Method Details

.compile(filename, build_path) ⇒ Object



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
# File 'lib/wp_fire/compiler.rb', line 7

def self.compile(filename, build_path)
  extname = File.extname(filename)
  basename = File.basename(filename, extname)
  if not basename[0].eql?"_" and extname.eql?".scss"
    sass_engine = Sass::Engine.for_file filename, {}
    File.open File.join(build_path, basename), "w" do |f|
      f.puts sass_engine.to_css
    end
  elsif basename[0].eql?"_" and extname.eql?".scss"
    parents_filename = []
    find_scss_parents(filename,parents_filename)
    parents_filename.uniq.each do |parent|
      compile parent, build_path
    end
  elsif extname.eql?".css"
    FileUtils.cp filename, File.join(build_path, File.basename(filename))
  elsif extname.eql?".coffee"
    File.open File.join(build_path, basename), "w" do |f|
      f.puts CoffeeScript.compile File.read(filename)
    end
  elsif extname.eql?".js"
    FileUtils.cp filename, File.join(build_path, File.basename(filename))
  elsif extname.eql?".php"
    FileUtils.cp filename, File.join(build_path, File.basename(filename))
  elsif [".jpg",".jpeg",".png",".gif",".ico"].include?(extname)
    Dir.mkdir File.join(build_path, "images") unless File.directory?(File.join(build_path, "images"))
    FileUtils.cp filename, File.join(build_path, "images", File.basename(filename))
  elsif [".ttf",".eot",".woff",".svg",".otf"].include?(extname)
    Dir.mkdir File.join(build_path, "fonts") unless File.directory?(File.join(build_path, "fonts"))
    FileUtils.cp filename, File.join(build_path, "fonts", File.basename(filename))
  end
end

.compile_all(filenames, build_path) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/wp_fire/compiler.rb', line 40

def self.compile_all(filenames, build_path)
  files = []
  filenames.each do |filename|
    if(File.directory?(filename))
      files = files + find(filename)
    end
    if(File.file?(filename))
      files << filename
    end
  end
  files.each do |f|
    compile f, build_path
  end
end