class DynamicStyles::AssetCompiler
Public Class Methods
new(asset_path, scss_path=nil)
click to toggle source
# File lib/dynamic_styles/asset_compiler.rb, line 3 def initialize(asset_path, scss_path=nil) @asset_path = asset_path @scss_path = Rails.root.join('app', 'assets', 'stylesheets', scss_path) @env = Rails.application.assets.instance_variable_get('@environment') if precompilation? end
Public Instance Methods
compile!()
click to toggle source
# File lib/dynamic_styles/asset_compiler.rb, line 29 def compile! if precompilation? Sprockets::Manifest.new(@env, self.manifest_path).compile(@asset_path) end end
compiled?()
click to toggle source
# File lib/dynamic_styles/asset_compiler.rb, line 13 def compiled? if precompilation? @env.find_asset(@asset_path).present? else File.exists?(@scss_path) && !File.zero?(@scss_path) end end
digest()
click to toggle source
# File lib/dynamic_styles/asset_compiler.rb, line 21 def digest @env.find_asset(@asset_path).digest end
manifest_path()
click to toggle source
# File lib/dynamic_styles/asset_compiler.rb, line 25 def manifest_path File.join(Rails.public_path, Rails.application.config.assets.prefix) end
precompilation?()
click to toggle source
# File lib/dynamic_styles/asset_compiler.rb, line 9 def precompilation? !Rails.application.config.assets.compile end
write_template!(string)
click to toggle source
# File lib/dynamic_styles/asset_compiler.rb, line 35 def write_template!(string) File.open(@scss_path, 'w') { |f| f.write(string) } end