module Cloudenvoy
Define and manage Cloud Pub/Sub publishers and subscribers
Constants
- VERSION
Attributes
Public Class Methods
Return the Cloudenvoy
configuration.
@return [Cloudenvoy::Config] The Cloudenvoy
configuration.
# File lib/cloudenvoy.rb, line 39 def self.config @config ||= Config.new end
Cloudenvoy
configurator.
# File lib/cloudenvoy.rb, line 30 def self.configure yield(config) end
Return the Cloudenvoy
logger.
@return [Logger] The Cloudenvoy
logger.
# File lib/cloudenvoy.rb, line 48 def self.logger config.logger end
Publish a message to a topic. Shorthand method to Cloudenvoy::PubSubClient#publish.
@param [String] topic The name of the topic @param [Hash, String] payload The message content. @param [Hash] attrs The message attributes.
@return [Cloudenvoy::Message] The created message.
# File lib/cloudenvoy.rb, line 61 def self.publish(topic, payload, attrs = {}) PubSubClient.publish(topic, payload, attrs) end
Return the list of registered publishers.
@return [Set<Cloudenvoy::Subscriber>] The list of registered publishers.
# File lib/cloudenvoy.rb, line 70 def self.publishers @publishers ||= Set.new end
Create/update default topics for all registered publishers.
@return [Array<Cloudenvoy::Subscription>] The upserted topics.
# File lib/cloudenvoy.rb, line 97 def self.setup_publishers publishers.flat_map(&:setup) end
Create/update subscriptions for all registered subscribers.
@return [Array<Cloudenvoy::Subscription>] The upserted subscriptions.
# File lib/cloudenvoy.rb, line 88 def self.setup_subscribers subscribers.flat_map(&:setup) end
Return the list of registered subscribers.
@return [Set<Cloudenvoy::Subscriber>] The list of registered subscribers.
# File lib/cloudenvoy.rb, line 79 def self.subscribers @subscribers ||= Set.new end