Class: Spree::NewsletterSubscriber

Inherits:
Object
  • Object
show all
Includes:
Metafields
Defined in:
app/models/spree/newsletter_subscriber.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.subscribe(email:, user: nil) ⇒ Object



55
56
57
# File 'app/models/spree/newsletter_subscriber.rb', line 55

def self.subscribe(email:, user: nil)
  Spree::Newsletter::Subscribe.new(email: email, current_user: user).call
end

.verify(token:) ⇒ Object



59
60
61
62
63
# File 'app/models/spree/newsletter_subscriber.rb', line 59

def self.verify(token:)
  subscriber = unverified.find_by!(verification_token: token)

  Spree::Newsletter::Verify.new(subscriber: subscriber).call
end

Instance Method Details

#accepts_email_marketingObject



41
42
43
44
45
# File 'app/models/spree/newsletter_subscriber.rb', line 41

def accepts_email_marketing
  return user.accepts_email_marketing if user.present?

  verified?
end

#to_csv(_store = nil) ⇒ Object



51
52
53
# File 'app/models/spree/newsletter_subscriber.rb', line 51

def to_csv(_store = nil)
  Spree::CSV::NewsletterSubscriberPresenter.new(self).call
end

#verified?Boolean

Returns:



47
48
49
# File 'app/models/spree/newsletter_subscriber.rb', line 47

def verified?
  verified_at.present?
end