Class: SpreeKlaviyo::Subscribe
- Includes:
- Spree::ServiceModule::Base
- Defined in:
- app/services/spree_klaviyo/subscribe.rb
Instance Method Summary collapse
Instance Method Details
#call(klaviyo_integration:, email:, user: nil) ⇒ Object
5 6 7 8 9 10 11 |
# File 'app/services/spree_klaviyo/subscribe.rb', line 5 def call(klaviyo_integration:, email:, user: nil) return failure(false, ::Spree.t('admin.integrations.klaviyo.not_found')) unless klaviyo_integration klaviyo_integration.subscribe_user(email).tap do |result| user.update(klaviyo_subscribed: true) if result.success? && user && !user.klaviyo_subscribed? end end |