Module: MicroEvent

Defined in:
lib/microevent.rb

Constant Summary collapse

VERSION =
"1.0.1".freeze

Instance Method Summary collapse

Instance Method Details

#bind(event, &fn) ⇒ Object



4
5
6
7
# File 'lib/microevent.rb', line 4

def bind(event, &fn)
  @_ ||= Hash.new{ |h,k| h[k] = [] }
  fn ? @_[event] << fn : raise(ArgumentError, "no block given")
end

#trigger(event, *args) ⇒ Object



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

def trigger(event, *args)
  @_ ||= Hash.new{ |h,k| h[k] = [] }
  !@_[event].each{ |fn| instance_exec(*args, &fn) }.empty?
end

#unbind(event, &fn) ⇒ Object



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

def unbind(event, &fn)
  @_ ||= Hash.new{ |h,k| h[k] = [] }
  fn ? @_[event].delete(fn) : @_.delete(event) || []
end