class AWS::SNS::SubscriptionCollection

Represents the collection of all subscriptions for the AWS account. For example:

# get the ARNs of all SQS queues with subscriptions to topics
# owned by this account
topic.subscriptions.
  select { |s| s.protocol == :sqs }.
  collect(&:endpoint)

Public Instance Methods

[](arn) click to toggle source

Retrieves a subscription object by ARN. This method does not make any requests to the service.

@param [String] arn The ARN of the subscription to retrieve. @return [Subscription] The subscription with the given ARN.

# File lib/aws/sns/subscription_collection.rb, line 61
def [] arn
  Subscription.new(arn, :config => config)
end
each() { |subscription| ... } click to toggle source

Yield each subscription belonging to this account. @yieldparam [Subscription] subscription Each of the

subscriptions in the account.

@return [nil]

# File lib/aws/sns/subscription_collection.rb, line 35
def each
  next_token = nil
  begin
    opts = request_opts
    opts[:next_token] = next_token if next_token
    resp = client.send(list_request, opts)
    resp.subscriptions.each do |sub|
      subscription = Subscription.new(sub.subscription_arn,
        :endpoint => sub.endpoint,
        :protocol => sub.protocol.tr('-','_').to_sym,
        :owner_id => sub.owner,
        :topic_arn => sub.topic_arn,
        :config => config
      )
      yield(subscription)
    end
    next_token = resp.next_token
  end until resp && next_token.nil?
  nil
end

Protected Instance Methods

list_request() click to toggle source

@private

# File lib/aws/sns/subscription_collection.rb, line 67
def list_request
  :list_subscriptions
end
request_opts() click to toggle source

@private

# File lib/aws/sns/subscription_collection.rb, line 73
def request_opts
  {}
end