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