Sha256: 1d7082efa7659cc3487fdaa1ec0e1f87973802d9997626a96e5c1443d10bdc3a

Contents?: true

Size: 779 Bytes

Versions: 5

Compression:

Stored size: 779 Bytes

Contents

require 'mongoid/paranoia'

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

5 entries across 5 versions & 1 rubygems

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