Sha256: c8937fdf9e585d6a4f95191f00becadc564a93bc6c1fdc6eda057b9e362fe1e5
Contents?: true
Size: 816 Bytes
Versions: 4
Compression:
Stored size: 816 Bytes
Contents
module Railjet module Publisher def self.included(klass) raise "Railjet::Bus adapter must be specified" unless Railjet::Bus.adapter klass.__send__(:include, Railjet::Bus.publisher) klass.__send__(:include, CustomSubscription) end module CustomSubscription def subscribe(event, subscriber) super(subscriber, on: event, prefix: true) end end end class Bus class << self attr_accessor :adapter delegate :publisher, to: :adapter end def initialize(adapter: self.class.adapter) @bus = adapter or raise ArgumentError, "Railjet::Bus adapter must be specified" end def subscribe(event, subscriber) bus.subscribe(subscriber, on: event, prefix: true, async: true) end private attr_reader :bus end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
railjet-bus-1.0 | lib/railjet/bus.rb |
railjet-bus-1.0.pre2 | lib/railjet/bus.rb |
railjet-bus-1.0.pre1 | lib/railjet/bus.rb |
railjet-bus-1.0.pre | lib/railjet/bus.rb |