# File lib/dynflow/middleware/register.rb, line 7 def initialize @rules = Hash.new do |h, k| h[k] = { before: [], after: [], replace: [] } end end
# File lib/dynflow/middleware/register.rb, line 25 def do_not_use(middleware_class) use nil, :replace => middleware_class end
# File lib/dynflow/middleware/register.rb, line 29 def merge!(register) Type! register, Middleware::Register register.rules.each do |klass, rules| use(klass, rules) end end
# File lib/dynflow/middleware/register.rb, line 15 def use(middleware_class, options = {}) unknown_options = options.keys - [:before, :after, :replace] if unknown_options.any? raise ArgumentError, "Unexpected options: #{unknown_options}" end @rules[middleware_class].merge!(options) do |key, old, new| old + Array(new) end end