module Cloudenvoy

Define and manage Cloud Pub/Sub publishers and subscribers

Constants

VERSION

Attributes

config[W]

Public Class Methods

config() click to toggle source

Return the Cloudenvoy configuration.

@return [Cloudenvoy::Config] The Cloudenvoy configuration.

# File lib/cloudenvoy.rb, line 39
def self.config
  @config ||= Config.new
end
configure() { |config| ... } click to toggle source

Cloudenvoy configurator.

# File lib/cloudenvoy.rb, line 30
def self.configure
  yield(config)
end
logger() click to toggle source

Return the Cloudenvoy logger.

@return [Logger] The Cloudenvoy logger.

# File lib/cloudenvoy.rb, line 48
def self.logger
  config.logger
end
publish(topic, payload, attrs = {}) click to toggle source

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
publishers() click to toggle source

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
setup_publishers() click to toggle source

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
setup_subscribers() click to toggle source

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
subscribers() click to toggle source

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