Class: Spree::NewsletterSubscriber

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

Defined Under Namespace

Modules: Emails

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Emails

#deliver_newsletter_email_verification

Class Method Details

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



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

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

.verify(token:) ⇒ Object



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

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



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

def accepts_email_marketing
  return user.accepts_email_marketing if user.present?

  verified?
end

#to_csv(_store = nil) ⇒ Object



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

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

#verified?Boolean

Returns:



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

def verified?
  verified_at.present?
end