Class: AWS::SNS::TopicCollection
- Inherits:
-
Object
- Object
- AWS::SNS::TopicCollection
- Includes:
- Enumerable
- Defined in:
- lib/aws/sns/topic_collection.rb
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.
Instance Method Details
#[](topic_arn) ⇒ Topic
Returns a topic with the given Topic ARN.
39 40 41 42 43 44 |
# File 'lib/aws/sns/topic_collection.rb', line 39 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.
28 29 30 31 |
# File 'lib/aws/sns/topic_collection.rb', line 28 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.
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/aws/sns/topic_collection.rb', line 49 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.next_token) nil end |