module CarrierWave::Workers::StoreAssetMixin
Attributes
cache_path[R]
tmp_directory[R]
Public Class Methods
included(base)
click to toggle source
# File lib/backgrounder/workers/store_asset_mixin.rb, line 8 def self.included(base) base.extend CarrierWave::Workers::ClassMethods end
Public Instance Methods
perform(*args)
click to toggle source
Calls superclass method
CarrierWave::Workers::Base#perform
# File lib/backgrounder/workers/store_asset_mixin.rb, line 14 def perform(*args) record = super(*args) if record && record.send(:"#{column}_tmp") store_directories(record) record.send :"process_#{column}_upload=", true record.send :"#{column}_tmp=", nil record.send :"#{column}_processing=", false if record.respond_to?(:"#{column}_processing") File.open(cache_path) { |f| record.send :"#{column}=", f } if record.save! FileUtils.rm_r(tmp_directory, :force => true) end else when_not_ready end end
Private Instance Methods
store_directories(record)
click to toggle source
# File lib/backgrounder/workers/store_asset_mixin.rb, line 33 def store_directories(record) asset, asset_tmp = record.send(:"#{column}"), record.send(:"#{column}_tmp") cache_directory = File.expand_path(asset.cache_dir, asset.root) @cache_path = File.join(cache_directory, asset_tmp) @tmp_directory = File.join(cache_directory, asset_tmp.split("/").first) end