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