module Paperclip::Callbacks::Defining

Public Instance Methods

define_paperclip_callbacks(*callbacks) click to toggle source
# File lib/paperclip/callbacks.rb, line 9
def define_paperclip_callbacks(*callbacks)
  define_callbacks(*[callbacks, {:terminator => callback_terminator}].flatten)
  callbacks.each do |callback|
    eval <<-end_callbacks
      def before_#{callback}(*args, &blk)
        set_callback(:#{callback}, :before, *args, &blk)
      end
      def after_#{callback}(*args, &blk)
        set_callback(:#{callback}, :after, *args, &blk)
      end
    end_callbacks
  end
end

Private Instance Methods

callback_terminator() click to toggle source
# File lib/paperclip/callbacks.rb, line 25
def callback_terminator
  if ::ActiveSupport::VERSION::STRING >= '4.1'
    lambda { |target, result| result == false }
  else
    'result == false'
  end
end