Sha256: 32bdc9292c68cbe62feb027e7b10da1b35645b65bda1fed76f96de5a23240e94

Contents?: true

Size: 781 Bytes

Versions: 7

Compression:

Stored size: 781 Bytes

Contents

require 'mongoid/versioning'

class ParanoidPost
  include Mongoid::Document
  include Mongoid::Versioning
  include Mongoid::Paranoia

  max_versions 2

  field :title, type: String

  attr_accessor :after_destroy_called, :before_destroy_called

  belongs_to :person

  has_and_belongs_to_many :tags
  has_many :authors, dependent: :delete
  has_many :titles, dependent: :restrict

  scope :recent, ->{ where(created_at: { "$lt" => Time.now, "$gt" => 30.days.ago }) }

  before_destroy :before_destroy_stub
  after_destroy :after_destroy_stub

  def before_destroy_stub
    self.before_destroy_called = true
  end

  def after_destroy_stub
    self.after_destroy_called = true
  end

  class << self
    def old
      where(created_at: { "$lt" => 30.days.ago })
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
mongoid-paranoia-1.3.0 spec/app/models/paranoid_post.rb
mongoid-paranoia-1.2.0 spec/app/models/paranoid_post.rb
mongoid-paranoia-1.1.0 spec/app/models/paranoid_post.rb
mongoid-paranoia-1.0.1 spec/app/models/paranoid_post.rb
mongoid-paranoia-1.0.0 spec/app/models/paranoid_post.rb
mongoid-paranoia-1.0.0.beta2 spec/app/models/paranoid_post.rb
mongoid-paranoia-1.0.0.beta1 spec/app/models/paranoid_post.rb