Sha256: c439f358efc8f07d5154175d252ee94872ddaae9bbbfa12d0999c72c7cda3ad1

Contents?: true

Size: 1.16 KB

Versions: 8

Compression:

Stored size: 1.16 KB

Contents

# frozen_string_literal: true

class Label
  include Mongoid::Document
  include Mongoid::Timestamps::Updated::Short

  field :name, type: String
  field :sales, type: BigDecimal
  field :after_create_called, type: Mongoid::Boolean, default: false
  field :after_save_called, type: Mongoid::Boolean, default: false
  field :after_update_called, type: Mongoid::Boolean, default: false
  field :after_validation_called, type: Mongoid::Boolean, default: false

  field :before_save_count, type: Integer, default: 0

  embedded_in :artist
  embedded_in :band

  before_save :before_save_stub
  after_create :after_create_stub
  after_save :after_save_stub
  after_update :after_update_stub
  after_validation :after_validation_stub
  before_validation :cleanup

  def before_save_stub
    self.before_save_count += 1
  end

  def after_create_stub
    self.after_create_called = true
  end

  def after_save_stub
    self.after_save_called = true
  end

  def after_update_stub
    self.after_update_called = true
  end

  def after_validation_stub
    self.after_validation_called = true
  end

  private
  def cleanup
    self.name = self.name.downcase.capitalize if self.name
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mongoid-7.5.4 spec/support/models/label.rb
mongoid-7.5.3 spec/support/models/label.rb
mongoid-7.5.2 spec/support/models/label.rb
mongoid-7.5.1 spec/support/models/label.rb
mongoid-7.4.3 spec/support/models/label.rb
mongoid-7.5.0 spec/support/models/label.rb
mongoid-7.4.1 spec/support/models/label.rb
mongoid-7.4.0 spec/support/models/label.rb