Если вы используете обратные вызовы уровня класса, они вызываются в том порядке, в котором они определены.
class Foo < ActiveRecord::Base
after_save :step1
after_save :step2
private
def step1
# stuff
end
def step2
# stuff
end
end
Для стороннего гема это зависит от того, как вы взаимодействуете с гемом, но шансыони будут вызваны первыми, потому что они были загружены первыми.
Я бы вообще не рекомендовал использовать стиль def after_save
, особенно при работе со сторонним гемом.