File: subscriptions.rb

package info (click to toggle)
ruby-fog-google 1.19.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,568 kB
  • sloc: ruby: 16,775; makefile: 3
file content (54 lines) | stat: -rw-r--r-- 1,637 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# All examples presume that you have a ~/.fog credentials file set up.
# # More info on it can be found here: http://fog.io/about/getting_started.html
#
require "bundler"
Bundler.require(:default, :development)
# Uncomment this if you want to make real requests to GCE (you _will_ be billed!)
# WebMock.disable!

def test
  connection = Fog::Google::Pubsub.new

  puts "Creating a topic to subscribe to"
  puts "--------------------------------"
  topic = connection.topics.create(:name => "projects/#{connection.project}/topics/#{Fog::Mock.random_letters(16)}")

  puts "Creating a subscription"
  puts "-----------------------"
  subscription = connection.subscriptions.create(:name => "projects/#{connection.project}/subscriptions/#{Fog::Mock.random_letters(16)}", :topic => topic)

  puts "Getting a subscription"
  puts "----------------------"
  connection.subscriptions.get(subscription.name)

  puts "Listing all subscriptions"
  puts "-------------------------"
  connection.subscriptions.all

  puts "Publishing to topic"
  puts "-------------------"
  topic.publish(["test message"])

  puts "Pulling from subscription"
  puts "-------------------------"

  msgs = []
  msgs = subscription.pull while msgs.empty?

  puts "Acknowledging pulled messages"
  puts "-----------------------------"
  subscription.acknowledge(msgs)

  # Alternatively, received messages themselves can be acknowledged
  msgs.each(&:acknowledge)

  puts "Deleting the subscription"
  puts "-------------------------"
  subscription.destroy

  puts "Deleting the topic subscribed to"
  puts "--------------------------------"
  topic.destroy
end

test