Sha256: 572764fa7c48f879e6a36269f145996216b4d3e082bcf4f4f48fb6e03c9bf091

Contents?: true

Size: 511 Bytes

Versions: 20

Compression:

Stored size: 511 Bytes

Contents

class CallbackRecorder < Mongoid::Observer
  observe :actor

  attr_reader :last_callback, :call_count, :last_record

  def initialize
    reset
    super
  end

  def reset
    @last_callback = nil
    @call_count = Hash.new(0)
    @last_record = {}
  end

  Mongoid::Callbacks.observables.each do |callback|
    define_method(callback) do |record, &block|
      @last_callback = callback
      @call_count[callback] += 1
      @last_record[callback] = record
      block ? block.call : true
    end
  end
end

Version data entries

20 entries across 20 versions & 5 rubygems

Version Path
mongoid-paranoia-1.1.0 spec/app/models/callback_recorder.rb
mongoid-paranoia-1.0.1 spec/app/models/callback_recorder.rb
mongoid-3.1.7 spec/app/models/callback_recorder.rb
mongoid-paranoia-1.0.0 spec/app/models/callback_recorder.rb
mongoid-versioning-1.0.0 spec/app/models/callback_recorder.rb
mongoid-paranoia-1.0.0.beta2 spec/app/models/callback_recorder.rb
mongoid-versioning-1.0.0.beta2 spec/app/models/callback_recorder.rb
mongoid-paranoia-1.0.0.beta1 spec/app/models/callback_recorder.rb
mongoid-versioning-1.0.0.beta1 spec/app/models/callback_recorder.rb
mongoid-3.1.6 spec/app/models/callback_recorder.rb
mongoid-3.1.5 spec/app/models/callback_recorder.rb
mongoid_heroku_stable-4.0.0 spec/app/models/callback_recorder.rb
mongoid_rails4-4.0.0 spec/app/models/callback_recorder.rb
mongoid-paranoia-0.3.0 spec/app/models/callback_recorder.rb
mongoid-paranoia-0.2.1 spec/app/models/callback_recorder.rb
mongoid-versioning-0.2.0 spec/app/models/callback_recorder.rb
mongoid-paranoia-0.2.0 spec/app/models/callback_recorder.rb
mongoid-paranoia-0.1.1 spec/app/models/callback_recorder.rb
mongoid-versioning-0.1.0 spec/app/models/callback_recorder.rb
mongoid-paranoia-0.1.0 spec/app/models/callback_recorder.rb