Sha256: db52496f1bfd64e80c089163ea3372be08fee0e169e4759675fce6717a2a268b
Contents?: true
Size: 497 Bytes
Versions: 1
Compression:
Stored size: 497 Bytes
Contents
require 'wisper_next' module Ma class Subscriber < Module def initialize(*args) @options = WisperNext::CastToOptions.(args) end def included(base) base.extend(ClassMethods) base.include(WisperNext.subscriber(@options.slice(:async))) super end module ClassMethods def on(event_class, &block) define_method event_class.name do |payload| instance_exec(event_class.new(payload), &block) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ma-0.1.0 | lib/ma/subscriber.rb |