Module: Signal

Defined in:
lib/signal.rb,
lib/signal/mock.rb,
lib/signal/version.rb,
lib/signal/listener.rb,
lib/signal/extensions/call.rb,
lib/signal/extensions/active_record.rb

Defined Under Namespace

Modules: Extensions Classes: Listener, Mock

Constant Summary collapse

VERSION =
"1.3.1"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.active_recordObject



4
5
6
# File 'lib/signal/extensions/active_record.rb', line 4

def self.active_record
  Extensions::ActiveRecord
end

.callObject



4
5
6
# File 'lib/signal/extensions/call.rb', line 4

def self.call
  Extensions::Call
end

Instance Method Details

#add_listener(listener) ⇒ Object



24
25
26
27
# File 'lib/signal.rb', line 24

def add_listener(listener)
  listeners << listener
  self
end

#after(event, &block) ⇒ Object



19
20
21
22
# File 'lib/signal.rb', line 19

def after(event, &block)
  listeners << Listener.new(self, __method__, event, &block)
  self
end

#before(event, &block) ⇒ Object



14
15
16
17
# File 'lib/signal.rb', line 14

def before(event, &block)
  listeners << Listener.new(self, __method__, event, &block)
  self
end

#emit(event, *args) ⇒ Object



29
30
31
32
33
34
# File 'lib/signal.rb', line 29

def emit(event, *args)
  emit_signal(:before, event, *args)
  emit_signal(:on, event, *args)
  emit_signal(:after, event, *args)
  nil
end

#listenersObject



36
37
38
# File 'lib/signal.rb', line 36

def listeners
  @listeners ||= []
end

#on(event, &block) ⇒ Object



9
10
11
12
# File 'lib/signal.rb', line 9

def on(event, &block)
  listeners << Listener.new(self, __method__, event, &block)
  self
end