Sha256: 6b326af1c1c5e2fc91788452fae4537071bc5c4e87c108efd58e86876676ac94

Contents?: true

Size: 728 Bytes

Versions: 8

Compression:

Stored size: 728 Bytes

Contents

class Galaxy
  include Mongoid::Document

  field :age, type: Integer

  before_validation :set_age

  embeds_many :stars

  private

  def set_age
    self.age ||= 100_000
  end
end

class Star
  include Mongoid::Document

  embedded_in :galaxy

  field :age, type: Integer

  before_validation :set_age

  embeds_many :planets

  private

  def set_age
    self.age ||= 42_000
  end
end

class Planet
  include Mongoid::Document

  embedded_in :star

  field :age, type: Integer

  before_validation :set_age

  private

  def set_age
    self.age ||= 2_000
  end
end

class Emission
  include Mongoid::Document

  field :frequency

  after_save do
    @previous = attribute_was(:frequency)
  end

  attr_reader :previous
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mongoid-7.5.4 spec/integration/callbacks_models.rb
mongoid-7.5.3 spec/integration/callbacks_models.rb
mongoid-7.5.2 spec/integration/callbacks_models.rb
mongoid-7.5.1 spec/integration/callbacks_models.rb
mongoid-7.4.3 spec/integration/callbacks_models.rb
mongoid-7.5.0 spec/integration/callbacks_models.rb
mongoid-7.4.1 spec/integration/callbacks_models.rb
mongoid-7.4.0 spec/integration/callbacks_models.rb