Module: Mailkick

Defined in:
lib/mailkick/serializer.rb,
lib/mailkick.rb,
lib/mailkick/model.rb,
lib/mailkick/engine.rb,
lib/mailkick/legacy.rb,
lib/mailkick/service.rb,
lib/mailkick/version.rb,
lib/mailkick/url_helper.rb,
app/models/mailkick/opt_out.rb,
lib/mailkick/service/aws_ses.rb,
lib/mailkick/service/mailgun.rb,
lib/mailkick/service/mandrill.rb,
lib/mailkick/service/postmark.rb,
lib/mailkick/service/sendgrid.rb,
lib/mailkick/service/mailchimp.rb,
app/models/mailkick/subscription.rb,
lib/mailkick/service/sendgrid_v2.rb,
lib/generators/mailkick/views_generator.rb,
lib/generators/mailkick/install_generator.rb,
app/controllers/mailkick/subscriptions_controller.rb

Overview

Defined Under Namespace

Modules: Generators, Legacy, Model, UrlHelper Classes: Engine, OptOut, Serializer, Service, Subscription, SubscriptionsController

Constant Summary collapse

VERSION =
"1.3.0"

Class Method Summary collapse

Class Method Details

.discover_servicesObject



39
40
41
42
43
# File 'lib/mailkick.rb', line 39

def self.discover_services
  Service.subclasses.each do |service|
    services << service.new if service.discoverable?
  end
end

.fetch_opt_outsObject



35
36
37
# File 'lib/mailkick.rb', line 35

def self.fetch_opt_outs
  services.each(&:fetch_opt_outs)
end

.generate_token(subscriber, list) ⇒ Object

Raises:

  • (ArgumentError)


54
55
56
57
58
59
# File 'lib/mailkick.rb', line 54

def self.generate_token(subscriber, list)
  raise ArgumentError, "Missing subscriber" unless subscriber
  raise ArgumentError, "Missing list" unless list.present?

  message_verifier.generate([nil, subscriber.id, subscriber.class.base_class.name, list])
end

.message_verifierObject



50
51
52
# File 'lib/mailkick.rb', line 50

def self.message_verifier
  @@message_verifier ||= ActiveSupport::MessageVerifier.new(Mailkick.secret_token, serializer: Serializer)
end

.secret_token=(token) ⇒ Object



45
46
47
48
# File 'lib/mailkick.rb', line 45

def self.secret_token=(token)
  @@secret_token = token
  @@message_verifier = nil
end