1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
require "pluggaloid/version"
require 'pluggaloid/collection'
require "pluggaloid/plugin"
require 'pluggaloid/stream'
require 'pluggaloid/event'
require "pluggaloid/identity"
require "pluggaloid/handler"
require 'pluggaloid/listener'
require 'pluggaloid/subscriber'
require 'pluggaloid/filter'
require 'pluggaloid/stream_generator'
require "pluggaloid/handler_tag"
require 'pluggaloid/mirage'
require 'pluggaloid/error'
require 'delayer'
module Pluggaloid
VM = Struct.new(*%i<Delayer Plugin Event Listener Filter HandlerTag Subscriber StreamGenerator>, keyword_init: true)
class PrototypeStream; end
class PrototypeCollect; end
STREAM = PrototypeStream.new.freeze
COLLECT = PrototypeCollect.new.freeze
def self.new(delayer)
vm = VM.new(Delayer: delayer,
Plugin: Class.new(Plugin),
Event: Class.new(Event),
Listener: Class.new(Listener),
Filter: Class.new(Filter),
HandlerTag: Class.new(HandlerTag),
Subscriber: Class.new(Subscriber),
StreamGenerator: Class.new(StreamGenerator))
vm.Plugin.vm = vm.Event.vm = vm
end
end
|