class Udongo::Assets::Precompiler

Attributes

app[R]

Public Class Methods

new(app) click to toggle source
# File lib/udongo/assets/precompiler.rb, line 6
def initialize(app)
  @app = app
end

Public Instance Methods

add(type, source) click to toggle source
# File lib/udongo/assets/precompiler.rb, line 10
def add(type, source)
  %W(#{Udongo::PATH}/#{source} #{Rails.root}/#{source}).each do |path|
    self.send("add_#{type}_to_precompile_list", path)
  end
end
add_images_to_precompile_list(path) click to toggle source
# File lib/udongo/assets/precompiler.rb, line 16
def add_images_to_precompile_list(path)
  glob_files(path) do |f|
    app.config.assets.precompile += [f.split('images/').last]
  end
end
add_javascripts_to_precompile_list(path) click to toggle source
# File lib/udongo/assets/precompiler.rb, line 22
def add_javascripts_to_precompile_list(path)
  glob_files(path) do |f|
    app.config.assets.precompile += [f.split('javascripts/').last]
  end
end
add_stylesheets_to_precompile_list(path) click to toggle source
# File lib/udongo/assets/precompiler.rb, line 28
def add_stylesheets_to_precompile_list(path)
  glob_files(path) do |f|
    filepath = f.split('stylesheets/').last
    filename = filepath.split('.').join('.')
    next if filename.split('/').last[0] == '_'

    if File.extname(filename) == '.scss'
      app.config.assets.precompile += ["#{filename.gsub('.scss', '.css')}"]
    else
      app.config.assets.precompile += [filepath]
    end
  end
end
glob_files(path) { |f| ... } click to toggle source
# File lib/udongo/assets/precompiler.rb, line 42
def glob_files(path, &block)
  Dir.glob(path).each do |f|
    next if File.directory?(f)
    yield f
  end
end