Class: SpreeKlaviyo::FetchProfileJob
- Defined in:
- app/jobs/spree_klaviyo/fetch_profile_job.rb
Constant Summary collapse
- NoProfileFoundError =
Class.new(StandardError)
Instance Method Summary collapse
Instance Method Details
#perform(klaviyo_integration_id, user_id) ⇒ Object
5 6 7 8 9 10 11 12 13 |
# File 'app/jobs/spree_klaviyo/fetch_profile_job.rb', line 5 def perform(klaviyo_integration_id, user_id) klaviyo_integration = ::Spree::Integrations::Klaviyo.find(klaviyo_integration_id) user = ::Spree.user_class.find(user_id) result = SpreeKlaviyo::FetchProfile.call(klaviyo_integration: klaviyo_integration, user: user) # Due to race condition let's give Klaviyo some time to create profile raise NoProfileFoundError if result.error == ::Spree::Integrations::Klaviyo::NO_PROFILE_FOUND end |