Uploaded image for project: 'Mongoid'
  1. Mongoid
  2. MONGOID-1753

callbacks triggered twice

    • Type: Icon: Task Task
    • Resolution: Done
    • 2.4.6
    • Affects Version/s: None
    • Component/s: None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      I've seen many closed issues concerning callbacks triggered twice but they are quite old so I decided to post this issue.

      In my update to Rails 3.2, I've made the step from mongoid 2.2.4 to 2.4.4 and some specs now fail.

      Willing to know what version of Mongoid make the spec fail, I've done things the iterative way:

      • v. 2.2.4, specs pass
      • direct update to 2.4.4, specs fail
      • v. 2.3.0, specs pass
      • v. 2.3.5, bundler complained, skipped
      • v. 2.3.4, specs pass
      • v. 2.4.0, specs fail

      The situation is the folowing: I use state_machine and I want a Document to change it's state from waiting_assignment to in_progress. Document is embedded in Project.

      Basically, I just need to trigger an event which will do this for me: change state and save, document.status_progress

      Besides, I've an around_filter:

      around_save :on_progress, :if => lambda

      {|doc| code_here }

      My spec is the following:

      document.should_receive :on_progress
      document.status_progress

      And it fails with the following message:

      Failure/Error: document.should_receive :on_progress
      (#<Document:0x0000010b9910b8>).on_progress(any args)
      expected: 1 time
      received: 2 times

      If you need more info, please tell me.

            Assignee:
            Unassigned Unassigned
            Reporter:
            apneadiving apneadiving
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: