Class: AWS::SNS::TopicCollection
- Inherits:
-
Object
- Object
- AWS::SNS::TopicCollection
- Includes:
- Core::Model, Enumerable
- Defined in:
- lib/aws/sns/topic_collection.rb
Instance Attribute Summary
Attributes included from Core::Model
Instance Method Summary collapse
-
#[](topic_arn) ⇒ Topic
Returns a topic with the given Topic ARN.
-
#create(name) ⇒ Topic
Creates and returns a new SNS Topic.
-
#each {|topic| ... } ⇒ nil
Yields once for each topic.
Methods included from Core::Model
#client, #config_prefix, #initialize, #inspect
Instance Method Details
#[](topic_arn) ⇒ Topic
Returns a topic with the given Topic ARN.
36 37 38 39 40 41 |
# File 'lib/aws/sns/topic_collection.rb', line 36 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) ⇒ Topic
Creates and returns a new SNS Topic.
25 26 27 28 |
# File 'lib/aws/sns/topic_collection.rb', line 25 def create name response = client.create_topic(:name => name) Topic.new(response.topic_arn, :config => config) end |
#each {|topic| ... } ⇒ nil
Yields once for each topic.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/aws/sns/topic_collection.rb', line 46 def each &block next_token = nil begin = next_token ? { :next_token => next_token } : {} response = client.list_topics() response.topics.each do |t| topic = Topic.new(t.topic_arn, :config => config) yield(topic) end end while(next_token = response.data[:next_token]) nil end |