Class: Spree::NewsletterSubscriber

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

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



58
59
60
61
62
63
64
65
66
67
# File 'app/models/spree/newsletter_subscriber.rb', line 58

def self.subscribe(email:, user: nil, store: nil, redirect_url: nil)
  store ||= Spree::Current.store

  Spree::Newsletter::Subscribe.new(
    email: email,
    current_user: user,
    current_store: store,
    redirect_url: redirect_url
  ).call
end

.verify(token:) ⇒ Object



69
70
71
72
73
# File 'app/models/spree/newsletter_subscriber.rb', line 69

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



44
45
46
47
48
# File 'app/models/spree/newsletter_subscriber.rb', line 44

def accepts_email_marketing
  return user.accepts_email_marketing if user.present?

  verified?
end

#to_csv(_store = nil) ⇒ Object



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

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

#verified?Boolean

Returns:



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

def verified?
  verified_at.present?
end