module Devise::Orm::DataMapper::Compatibility::ClassMethods

Public Instance Methods

before_validation(*args) click to toggle source
# File lib/devise/orm/data_mapper/compatibility.rb, line 17
def before_validation(*args)
  wrap_hook(:before, :valid?, *args)
end
wrap_hook(action, method, *args) click to toggle source
# File lib/devise/orm/data_mapper/compatibility.rb, line 21
          def wrap_hook(action, method, *args)
            options = args.extract_options!

            args.each do |callback|
              callback_method = "#{action}_#{method}_#{callback}_callback_wrap".gsub('?', '').to_sym
              send action, method, callback_method
              class_eval "                def #{callback_method}
                  #{callback} if #{options[:if] || true}
                end
", __FILE__, __LINE__ + 1
            end
          end