Sha256: 0873bee6c1214076e4ffe1e0fba1787ad5c53dfc5e80242142e8c1e6265ce171
Contents?: true
Size: 608 Bytes
Versions: 3
Compression:
Stored size: 608 Bytes
Contents
module ComingSoonPendingSubscribable extend ActiveSupport::Concern included do attr_writer :suppressed validate :pending_subscribe, if: :allow_pending_subscribe? end private NEWSLETTER = "mailchimp" def allow_pending_subscribe? !suppressed? end def suppressed? @suppressed ||= false end def pending_subscribe response = newsletter_provider_class.new.pending_subscribe(email: email) unless response.success? errors[:base] << response.error end end def newsletter_provider_class "#{NEWSLETTER.capitalize}::BaseAdapter".constantize end end
Version data entries
3 entries across 3 versions & 1 rubygems