Module: Artery::Subscriptions::ClassMethods

Defined in:
lib/artery/subscriptions.rb

Instance Method Summary collapse

Instance Method Details

#add_subscription(subscription) ⇒ Object



23
24
25
26
27
# File 'lib/artery/subscriptions.rb', line 23

def add_subscription(subscription)
  @subscriptions ||= {}
  @subscriptions[subscription.uri] ||= []
  @subscriptions[subscription.uri] << subscription
end

#clear_synchronizing_subscriptions!Object



33
34
35
36
37
38
39
# File 'lib/artery/subscriptions.rb', line 33

def clear_synchronizing_subscriptions!
  Artery.synchronizing_subscriptions.dup.each do |s|
    Artery.logger.warn "<#{s.subscriber}> [#{s.uri}] is still synchronizing, clearing.."

    s.synchronization_in_progress!(false)
  end
end

#subscriptions_on(*services) ⇒ Object



17
18
19
20
21
# File 'lib/artery/subscriptions.rb', line 17

def subscriptions_on(*services)
  services = services.flatten.map(&:to_sym)

  subscriptions.slice(*subscriptions.keys.select { |uri| services.include?(uri.service) })
end

#synchronizing_subscriptionsObject



29
30
31
# File 'lib/artery/subscriptions.rb', line 29

def synchronizing_subscriptions
  @synchronizing_subscriptions ||= []
end