module Icalia::Event::Subscriber::ClassMethods

Public Instance Methods

auto_subscribe() click to toggle source
# File lib/icalia/event/subscriber.rb, line 43
def auto_subscribe
  client = Subserver::Pubsub.client
  topic = client.topic(topic_name) || client.create_topic(topic_name)

  topic.subscription(subscription_name) ||
    topic.subscribe(subscription_name)
end
process(event_class_name, options = {}) click to toggle source
# File lib/icalia/event/subscriber.rb, line 51
def process(event_class_name, options = {})
  return unless (processor = options.delete(:with)).present?

  processor_map[event_class_name] = processor
end
subscribe_to_topic(new_topic_name, options = {}) click to toggle source
# File lib/icalia/event/subscriber.rb, line 34
def subscribe_to_topic(new_topic_name, options = {})
  class_variable_set '@@topic_name', new_topic_name
  subserver_options options.merge(subscription: subscription_name)
end
subscription_name() click to toggle source
# File lib/icalia/event/subscriber.rb, line 39
def subscription_name
  "#{subscription_name_prefix}-#{topic_name}"
end

Protected Instance Methods

deployment_name() click to toggle source
# File lib/icalia/event/subscriber.rb, line 63
def deployment_name
  ENV.fetch('DEPLOYMENT_NAME', Rails.env)
end
rails_app_name() click to toggle source
# File lib/icalia/event/subscriber.rb, line 67
def rails_app_name
  return rails_app_name_since_rails_six if Rails.version.starts_with?('6')

  rails_app_name_until_rails_six
end
rails_app_name_since_rails_six() click to toggle source
# File lib/icalia/event/subscriber.rb, line 77
def rails_app_name_since_rails_six
  Rails.application.class.module_parent_name
end
rails_app_name_until_rails_six() click to toggle source
# File lib/icalia/event/subscriber.rb, line 73
def rails_app_name_until_rails_six
  Rails.application.class.parent_name
end
subscription_name_prefix() click to toggle source
# File lib/icalia/event/subscriber.rb, line 59
def subscription_name_prefix
  "#{rails_app_name.underscore}-#{deployment_name.underscore}"
end