Sha256: efc4570380730a237a55ba725407f9c9ea5e0961f56266ce184bc31317dc546f

Contents?: true

Size: 975 Bytes

Versions: 82

Compression:

Stored size: 975 Bytes

Contents

# encoding: utf-8

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

82 entries across 77 versions & 7 rubygems

Version Path
carrierwave-0.11.2 lib/carrierwave/uploader/callbacks.rb
carrierwave-0.11.1 lib/carrierwave/uploader/callbacks.rb
carrierwave-0.11.0 lib/carrierwave/uploader/callbacks.rb
classiccms-0.7.5 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/callbacks.rb
classiccms-0.7.4 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/callbacks.rb
classiccms-0.7.3 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/callbacks.rb
carrierwave-0.10.0 lib/carrierwave/uploader/callbacks.rb
carrierwave-0.9.0 lib/carrierwave/uploader/callbacks.rb
classiccms-0.7.2 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/callbacks.rb
classiccms-0.7.1 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/callbacks.rb
classiccms-0.7.0 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/callbacks.rb
carrierwave-0.8.0 lib/carrierwave/uploader/callbacks.rb
sunrise-cms-0.5.0.rc1 vendor/bundle/ruby/1.9.1/gems/carrierwave-0.7.1/lib/carrierwave/uploader/callbacks.rb
classiccms-0.6.9 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/callbacks.rb
carrierwave-pressplane-0.5.8.3 lib/carrierwave/uploader/callbacks.rb
classiccms-0.6.8 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/callbacks.rb
classiccms-0.6.7 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/callbacks.rb
carrierwave-0.7.1 lib/carrierwave/uploader/callbacks.rb
classiccms-0.6.6 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/callbacks.rb
carrierwave-0.7.0 lib/carrierwave/uploader/callbacks.rb