Sha256: 82f7e3dd7a7b89ce713a486f893bc7ace525c5f89a1d37e1a8023a294f3c10c7
Contents?: true
Size: 576 Bytes
Versions: 3
Compression:
Stored size: 576 Bytes
Contents
# frozen_string_literal: true 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_name, *args) return super unless respond_to_missing?(method_name, false) @block.call(*args) 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
signal-1.3.1 | lib/signal/listener.rb |
signal-1.3.0 | lib/signal/listener.rb |
signal-1.2.0 | lib/signal/listener.rb |