Class: RubyMailman::Subscription

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby_mailman/subscription.rb,
lib/ruby_mailman/subscription/message.rb

Defined Under Namespace

Classes: Message

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(channel, listener, cs) ⇒ Subscription

Returns a new instance of Subscription.



15
16
17
18
19
20
# File 'lib/ruby_mailman/subscription.rb', line 15

def initialize(channel, listener, cs)
  self.channel = channel
  self.listener = listener
  self.central_service = cs
  central_service.subscribe(channel, listener)
end

Class Method Details

.subscribe(args, cs = CentralServiceInterface) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/ruby_mailman/subscription.rb', line 3

def self.subscribe(args, cs = CentralServiceInterface)
  channel = args.fetch(:channel) do
    raise ArgumentError, "Subscribtion requries a channel"
  end

  listener = args.fetch(:listener) do
    raise ArgumentError, "Subscribtion requries a listener"
  end

  self.new(channel, listener, cs)
end