mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 19:37:55 +08:00
427d54b2b0
Zeitwerk simplifies working with dependencies in dev and makes it easier reloading class chains. We no longer need to use Rails "require_dependency" anywhere and instead can just use standard Ruby patterns to require files. This is a far reaching change and we expect some followups here.
23 lines
497 B
Ruby
23 lines
497 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Jobs
|
|
|
|
class ConfirmSnsSubscription < ::Jobs::Base
|
|
sidekiq_options retry: false
|
|
|
|
def execute(args)
|
|
return unless raw = args[:raw].presence
|
|
return unless json = args[:json].presence
|
|
return unless subscribe_url = json["SubscribeURL"].presence
|
|
|
|
require "aws-sdk-sns"
|
|
return unless Aws::SNS::MessageVerifier.new.authentic?(raw)
|
|
|
|
# confirm subscription by visiting the URL
|
|
open(subscribe_url)
|
|
end
|
|
|
|
end
|
|
|
|
end
|