class Deface::Precompiler
Public Class Methods
precompile()
click to toggle source
# File lib/deface/precompiler.rb, line 6 def self.precompile base_path = Rails.root.join("app/compiled_views") # temporarily configures deface env and loads # all overrides so we can precompile unless Rails.application.config.deface.enabled Rails.application.config.deface = Deface::Environment.new Rails.application.config.deface.overrides.early_check Rails.application.config.deface.overrides.load_all Rails.application end Rails.application.config.deface.overrides.all.each do |virtual_path,overrides| template_path = base_path.join( "#{virtual_path}.html.erb") FileUtils.mkdir_p template_path.dirname begin source = load_template_source(virtual_path.to_s, false, true) if source.blank? raise "Compiled source was blank for '#{virtual_path}'" end File.open(template_path, 'w') {|f| f.write source } rescue Exception => e puts "Unable to precompile '#{virtual_path}' due to: " puts e.message end end end