Sha256: 7fc187afcce38c3e84ce6de6c4bd44fea56e634842da03bf70aa3686248bb04a

Contents?: true

Size: 715 Bytes

Versions: 4

Compression:

Stored size: 715 Bytes

Contents

module Mongoid
  module Userstamps
    module Deleted
      extend ActiveSupport::Concern

      included do
        unless included_modules.include?(Mongoid::Userstamps::Model)
          include Mongoid::Userstamps::Model
        end

        belongs_to userstamps_config.deleted_name, {
          class_name: userstamps_model.user_model,
          inverse_of: nil,
          optional: true,
        }

        set_callback :destroy, :before, :set_deleted_by
      end

      def set_deleted_by
        user = self.class.current_user
        return if !user || public_send("#{userstamps_config.deleted_name}_id_changed?")
        public_send("#{userstamps_config.deleted_name}=", user)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mongoid-userstamps-3.4.1 lib/mongoid/userstamps/deleted.rb
mongoid-userstamps-3.4.0 lib/mongoid/userstamps/deleted.rb
mongoid-userstamps-3.3.0 lib/mongoid/userstamps/deleted.rb
mongoid-userstamps-3.2.1 lib/mongoid/userstamps/deleted.rb