Class: Chasqui::Subscription
- Inherits:
-
Object
- Object
- Chasqui::Subscription
- Defined in:
- lib/chasqui/subscription.rb
Instance Attribute Summary collapse
-
#channel ⇒ Object
readonly
Returns the value of attribute channel.
-
#queue ⇒ Object
readonly
Returns the value of attribute queue.
-
#subscriber_type ⇒ Object
readonly
Returns the value of attribute subscriber_type.
Instance Method Summary collapse
-
#initialize(queue, channel, subscriber_type = Chasqui::Subscriber) ⇒ Subscription
constructor
A new instance of Subscription.
- #subscriber ⇒ Object
- #subscription_id ⇒ Object
- #worker ⇒ Object
Constructor Details
#initialize(queue, channel, subscriber_type = Chasqui::Subscriber) ⇒ Subscription
Returns a new instance of Subscription.
5 6 7 8 9 |
# File 'lib/chasqui/subscription.rb', line 5 def initialize(queue, channel, subscriber_type=Chasqui::Subscriber) @queue = queue @channel = channel @subscriber_type = subscriber_type end |
Instance Attribute Details
#channel ⇒ Object (readonly)
Returns the value of attribute channel.
3 4 5 |
# File 'lib/chasqui/subscription.rb', line 3 def channel @channel end |
#queue ⇒ Object (readonly)
Returns the value of attribute queue.
3 4 5 |
# File 'lib/chasqui/subscription.rb', line 3 def queue @queue end |
#subscriber_type ⇒ Object (readonly)
Returns the value of attribute subscriber_type.
3 4 5 |
# File 'lib/chasqui/subscription.rb', line 3 def subscriber_type @subscriber_type end |
Instance Method Details
#subscriber ⇒ Object
16 17 18 |
# File 'lib/chasqui/subscription.rb', line 16 def subscriber @subscriber ||= subscriber_type.new queue, channel end |
#subscription_id ⇒ Object
11 12 13 14 |
# File 'lib/chasqui/subscription.rb', line 11 def subscription_id queue_name = [worker.namespace, 'queue', queue].compact.join(':') "#{worker_backend}/#{queue_name}" end |
#worker ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/chasqui/subscription.rb', line 20 def worker # TODO How can we store this in an instance variable without breaking things? case worker_backend when :resque Chasqui::ResqueWorker.create subscriber when :sidekiq Chasqui::SidekiqWorker.create subscriber else raise ConfigurationError.new( "Please choose a supported worker_backend. Choices: #{supported_worker_backends}") end end |