Skip to content

Commit afbfdf3

Browse files
committed
Ensure callbacks aren't being invoked multiple times
The spec failures was showing extra callbacks being fired.
1 parent 3b9d4eb commit afbfdf3

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

app/decorators/models/solidus_tracking/spree/order/track_order_fulfillment.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ module SolidusTracking
44
module Spree
55
module Order
66
module TrackOrderFulfillment
7-
def self.prepended(base)
8-
base.after_update :track_fulfilled_order
7+
extend ActiveSupport::Concern
8+
9+
prepended do
10+
after_update :track_fulfilled_order
911
end
1012

1113
private

app/decorators/models/solidus_tracking/spree/order/track_order_lifecycle.rb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ module SolidusTracking
44
module Spree
55
module Order
66
module TrackOrderLifecycle
7-
def self.prepended(base)
8-
base.state_machine.after_transition to: :address, do: :track_started_checkout
9-
base.state_machine.after_transition to: :complete, do: :track_ordered_product
10-
base.state_machine.after_transition to: :complete, do: :track_placed_order
11-
base.state_machine.after_transition to: :canceled, do: :track_cancelled_order
7+
extend ActiveSupport::Concern
8+
9+
prepended do
10+
state_machine.after_transition to: :address, do: :track_started_checkout
11+
state_machine.after_transition to: :complete, do: :track_ordered_product
12+
state_machine.after_transition to: :complete, do: :track_placed_order
13+
state_machine.after_transition to: :canceled, do: :track_cancelled_order
1214
end
1315

1416
private

app/decorators/models/solidus_tracking/spree/user/track_signup.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@ module SolidusTracking
44
module Spree
55
module User
66
module TrackSignup
7-
def self.prepended(base)
8-
base.after_commit :track_signup, on: :create
7+
extend ActiveSupport::Concern
8+
9+
prepended do
10+
after_commit :track_signup, on: :create
911
end
1012

1113
private

0 commit comments

Comments
 (0)