Sha256: 4042c62b57b69dea84c2cea0cd7c1732092d0a865333cb51e69b1f4daabf082a

Contents?: true

Size: 755 Bytes

Versions: 4

Compression:

Stored size: 755 Bytes

Contents

# -*- encoding : utf-8 -*-

module Mongoid
  module Userstamps
    module Deleted
      extend ActiveSupport::Concern

      included do
        if !self.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 || self.public_send("#{userstamps_config.deleted_name}_id_changed?")
        self.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.1.3 lib/mongoid/userstamps/deleted.rb
mongoid-userstamps-3.1.2 lib/mongoid/userstamps/deleted.rb
mongoid-userstamps-3.1.1 lib/mongoid/userstamps/deleted.rb
mongoid-userstamps-3.1.0 lib/mongoid/userstamps/deleted.rb