class DispatchRider::NotificationServices::AwsSns
Public Instance Methods
channel(name)
click to toggle source
not really happy with this, but the notification service registrar system is way too rigid to do this cleaner since you only can have one notifier for the whole service, but you need to create a new one for each region
# File lib/dispatch-rider/notification_services/aws_sns.rb, line 26 def channel(name) arn = fetch(name) # in v1, the Topic object was fetched from API, in v3 it's basically just an arn wrapper Aws::SNS::Topic.new(arn) end
channel_registrar_builder()
click to toggle source
# File lib/dispatch-rider/notification_services/aws_sns.rb, line 16 def channel_registrar_builder Registrars::SnsChannel end
notifier_builder()
click to toggle source
# File lib/dispatch-rider/notification_services/aws_sns.rb, line 12 def notifier_builder Aws::SNS::Client end
publish_to_channel(channel, message:)
click to toggle source
Calls superclass method
# File lib/dispatch-rider/notification_services/aws_sns.rb, line 20 def publish_to_channel(channel, message:) Retriable.retriable(tries: 10, on: Aws::Errors::MissingCredentialsError) { super } end