Class: SubPub::Subscription

Inherits:
Object
  • Object
show all
Defined in:
lib/sub_pub/subscription.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Subscription

Returns a new instance of Subscription.



3
4
5
6
# File 'lib/sub_pub/subscription.rb', line 3

def initialize(options)
  @scoped_topic = options[:scoped_topic]
  @action = options[:action]
end

Class Method Details

.subscribe(options) ⇒ Object



8
9
10
11
12
# File 'lib/sub_pub/subscription.rb', line 8

def self.subscribe(options)
  subscription = new(options)
  subscription.subscribe
  subscription
end

Instance Method Details

#subscribeObject



14
15
16
# File 'lib/sub_pub/subscription.rb', line 14

def subscribe
  @subscription = ActiveSupport::Notifications.subscribe(@scoped_topic.full_topic, @action)
end

#topicObject



22
23
24
# File 'lib/sub_pub/subscription.rb', line 22

def topic
  @scoped_topic.topic
end

#unsubscribeObject



18
19
20
# File 'lib/sub_pub/subscription.rb', line 18

def unsubscribe
  ActiveSupport::Notifications.unsubscribe(@subscription)
end