Sha256: 48a4bd558a7a0f416cca5a8938fa5501f3513a811e391aa182b01aeeeb758c60
Contents?: true
Size: 542 Bytes
Versions: 1
Compression:
Stored size: 542 Bytes
Contents
module Signal class Listener def initialize(context, type, event, &block) @context = context @type = type @event = event @block = block @event_method = :"#{@type}_#{@event}" end def method_missing(method, *args) return super unless method == @event_method @context.instance_exec(*args, &@block) end def to_s "<#{self.class} event: #{@event_method}>" end def respond_to_missing?(method_name, include_private) method_name == @event_method end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
signal-0.1.0 | lib/signal/listener.rb |