Sha256: fc72a638c883603f78044e40a79012a89e5bc6c55b79540902507e3fda003c3b
Contents?: true
Size: 772 Bytes
Versions: 1
Compression:
Stored size: 772 Bytes
Contents
# All middleware must respond_to?("setup") # To register middleware, after the class call ATD::Middleware.register(Your::Middleware) module ATD module Middleware @middleware = {} @sources = [] def self.register(source) @sources.push source end def self.run(target = nil) return nil if @middleware[target.class].nil? @middleware[target.class].each do |action| action.call(target) end end def self.create(source, target) @middleware[target] = [] if @middleware[target].nil? @middleware[target].push(source) end def self.setup(target) # At some point, target should be used so that middleware are only setup on one target. @sources.each(&:setup) target end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
atd-0.0.0.TEST.GITLAB1 | lib/atd/middleware.rb |