Sha256: cd8b3ce6bf00f0f0610d1f6d253017cf1f21c82a34ca1d20b746e49ac39dc440
Contents?: true
Size: 1.01 KB
Versions: 26
Compression:
Stored size: 1.01 KB
Contents
module Paperclip module Callbacks def self.included(base) base.extend(Defining) base.send(:include, Running) end module Defining def define_paperclip_callbacks(*callbacks) define_callbacks(*[callbacks, { terminator: hasta_la_vista_baby }].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 def hasta_la_vista_baby lambda do |_, result| if result.respond_to?(:call) result.call == false else result == false end end end end module Running def run_paperclip_callbacks(callback, &block) run_callbacks(callback, &block) end end end end
Version data entries
26 entries across 26 versions & 4 rubygems