Class: Sprockets::Cache::AssetsLiveCompileStore
- Inherits:
-
FileStore
- Object
- FileStore
- Sprockets::Cache::AssetsLiveCompileStore
- Defined in:
- lib/sprockets/cache/assets_live_compile_store.rb
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ AssetsLiveCompileStore
constructor
A new instance of AssetsLiveCompileStore.
- #set(key, attrs) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ AssetsLiveCompileStore
Returns a new instance of AssetsLiveCompileStore.
7 8 9 10 |
# File 'lib/sprockets/cache/assets_live_compile_store.rb', line 7 def initialize = {} super "#{::Rails.root}/tmp/cache" @assets_path = "#{::Rails.root}/public/assets" end |
Instance Method Details
#set(key, attrs) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/sprockets/cache/assets_live_compile_store.rb', line 12 def set key, attrs super return attrs unless ::Rails.application.config.assets.digest return attrs unless attrs.is_a? Hash and (logical_path = attrs[:logical_path]).present? return attrs if logical_path.index '.self.' and not ::Rails.application.config.assets.debug asset = Sprockets::Asset.new nil, attrs path = File.join @assets_path, asset.digest_path.strip FileUtils.mkdir_p File.dirname(path) File.open(path, 'wb'){ |f| f.write asset.source } attrs end |