class AWS::SNS::TopicCollection

Public Instance Methods

[](topic_arn) click to toggle source

@param [String] topic_arn An AWS SNS Topic ARN. It should be

formatted something like:

  arn:aws:sns:us-east-1:123456789012:TopicName

@return [Topic] Returns a topic with the given Topic ARN.

# File lib/aws/sns/topic_collection.rb, line 34
def [] topic_arn
  unless topic_arn =~ /^arn:aws:sns:/
    raise ArgumentError, "invalid topic arn `#{topic_arn}`"
  end
  Topic.new(topic_arn, :config => config)
end
create(name) click to toggle source

Creates and returns a new SNS Topic. @return [Topic] Returns a new topic with the given name.

# File lib/aws/sns/topic_collection.rb, line 23
def create name
  response = client.create_topic(:name => name)
  Topic.new(response.topic_arn, :config => config)
end

Protected Instance Methods

_each_item(next_token, options) { |topic| ... } click to toggle source
# File lib/aws/sns/topic_collection.rb, line 43
def _each_item next_token, options, &block

  options[:next_token] = next_token if next_token

  resp = client.list_topics(options)
  resp.data[:topics].each do |details|

    topic = Topic.new(details[:topic_arn], :config => config)

    yield(topic)

  end

  resp.data[:next_token]

end