module Opium::Model::Callbacks::ClassMethods

Public Instance Methods

wrap_callbacks_around( *methods ) click to toggle source
Calls superclass method
# File lib/opium/model/callbacks.rb, line 22
def wrap_callbacks_around( *methods )
  options = methods.last.is_a?(::Hash) ? methods.pop : {}
  methods.each do |method|
    callback_name = method.to_s.gsub(/\A_/, '').to_sym
    class_eval do
      define_method method do |*args|
        run_callbacks( callback_name ) do
          super( *args )
        end
      end
      send( :private, method ) if options[:private]
    end
  end
end