Sha256: c6fcd0d8b62c15cdd30323bbfe15b6d9727b477741f8ff85bf5c954a1fdd55ad
Contents?: true
Size: 1.35 KB
Versions: 2
Compression:
Stored size: 1.35 KB
Contents
class Lockbox module CarrierWaveExtensions def encrypt(**options) class_eval do before :cache, :encrypt def encrypt(file) @file = CarrierWave::SanitizedFile.new(lockbox.encrypt_io(file)) end def read r = super lockbox.decrypt(r) if r end def size read.bytesize end def rotate_encryption! io = Lockbox::IO.new(read) io.original_filename = file.filename previous_value = enable_processing begin self.enable_processing = false store!(io) ensure self.enable_processing = previous_value end end private define_method :lockbox do @lockbox ||= begin table = model ? model.class.table_name : "_uploader" attribute = if mounted_as mounted_as.to_s else uploader = self while uploader.parent_version uploader = uploader.parent_version end uploader.class.name.sub(/Uploader\z/, "").underscore end Utils.build_box(self, options, table, attribute) end end end end end end CarrierWave::Uploader::Base.extend(Lockbox::CarrierWaveExtensions)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lockbox-0.2.5 | lib/lockbox/carrier_wave_extensions.rb |
lockbox-0.2.4 | lib/lockbox/carrier_wave_extensions.rb |