Sha256: fcec649a17f497390fe6ddf8f70aeee2fcb343b73ea2f43b63fc052e88db83a2

Contents?: true

Size: 1.28 KB

Versions: 29

Compression:

Stored size: 1.28 KB

Contents

# frozen_string_literal: true

class Record
  include Mongoid::Document
  field :name, type: String
  field :producers, type: Array

  field :before_create_called, type: Mongoid::Boolean, default: false
  field :before_save_called, type: Mongoid::Boolean, default: false
  field :before_update_called, type: Mongoid::Boolean, default: false
  field :before_validation_called, type: Mongoid::Boolean, default: false
  field :before_destroy_called, type: Mongoid::Boolean, default: false

  embedded_in :band
  embeds_many :tracks, cascade_callbacks: true
  embeds_many :notes, as: :noteable, cascade_callbacks: true, validate: false

  before_create :before_create_stub
  before_save :before_save_stub
  before_update :before_update_stub
  before_validation :before_validation_stub
  before_destroy :before_destroy_stub

  after_destroy :access_band

  def before_create_stub
    self.before_create_called = true
  end

  def before_save_stub
    self.before_save_called = true
  end

  def before_update_stub
    self.before_update_called = true
  end

  def before_validation_stub
    self.before_validation_called = true
  end

  def before_destroy_stub
    self.before_destroy_called = true
  end

  def access_band
    band.name
  end

  def dont_call_me_twice
  end

  validate { dont_call_me_twice }
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
mongoid-8.0.10 spec/support/models/record.rb
mongoid-8.1.10 spec/support/models/record.rb
mongoid-8.1.9 spec/support/models/record.rb
mongoid-8.0.9 spec/support/models/record.rb
mongoid-8.1.8 spec/support/models/record.rb
mongoid-8.1.7 spec/support/models/record.rb
mongoid-8.1.6 spec/support/models/record.rb
mongoid-8.0.8 spec/support/models/record.rb
mongoid-8.1.5 spec/support/models/record.rb
mongoid-8.1.4 spec/support/models/record.rb
mongoid-8.0.7 spec/support/models/record.rb
mongoid-8.1.3 spec/support/models/record.rb
mongoid-8.1.2 spec/support/models/record.rb
mongoid-8.0.6 spec/support/models/record.rb
mongoid-7.5.4 spec/support/models/record.rb
mongoid-8.1.1 spec/support/models/record.rb
mongoid-8.0.5 spec/support/models/record.rb
mongoid-8.1.0 spec/support/models/record.rb
mongoid-7.5.3 spec/support/models/record.rb
mongoid-8.0.4 spec/support/models/record.rb