Module: Paperclip::Callbacks

Defined in:
lib/dm-paperclip/callbacks.rb

Class Method Summary collapse

Class Method Details

.define(klass, name) ⇒ Object



3
4
5
6
7
8
9
10
11
12
# File 'lib/dm-paperclip/callbacks.rb', line 3

def define(klass, name)
  ["before_#{name}", "after_#{name}"].each do |method|
    klass.define_singleton_method(method) do |callback|
      callbacks = (@_C2DE8FA4_FDA9_45A9_8952_0AEFB571DCC1_callbacks ||= {})
      callbacks[method] ||= []
      callbacks[method] << callback
      nil
    end
  end
end

.run(instance, name, &block) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/dm-paperclip/callbacks.rb', line 14

def run(instance, name, &block)
  return false if run_callbacks(instance, "before_#{name}") == false
  result = yield
  return false if result == false
  return false if run_callbacks(instance, "after_#{name}", true) == false
  block_given? ? result : true
end