Sha256: 4bf0104e9d19271a7d30a57b10b3ff3f95013eaf4a5998911ac2c0d03c6ab27e
Contents?: true
Size: 956 Bytes
Versions: 31
Compression:
Stored size: 956 Bytes
Contents
module CarrierWave module Uploader module Callbacks extend ActiveSupport::Concern included do class_attribute :_before_callbacks, :_after_callbacks, :instance_writer => false self._before_callbacks = Hash.new [] self._after_callbacks = Hash.new [] end def with_callbacks(kind, *args) self.class._before_callbacks[kind].each { |c| send c, *args } yield self.class._after_callbacks[kind].each { |c| send c, *args } end module ClassMethods def before(kind, callback) self._before_callbacks = self._before_callbacks. merge kind => _before_callbacks[kind] + [callback] end def after(kind, callback) self._after_callbacks = self._after_callbacks. merge kind => _after_callbacks[kind] + [callback] end end # ClassMethods end # Callbacks end # Uploader end # CarrierWave
Version data entries
31 entries across 31 versions & 3 rubygems