class Dynflow::Middleware::Register
Attributes
rules[R]
Public Class Methods
new()
click to toggle source
# File lib/dynflow/middleware/register.rb, line 8 def initialize @rules = Hash.new do |h, k| h[k] = { before: [], after: [], replace: [] } end end
Public Instance Methods
do_not_use(middleware_class)
click to toggle source
# File lib/dynflow/middleware/register.rb, line 26 def do_not_use(middleware_class) use nil, :replace => middleware_class end
merge!(register)
click to toggle source
# File lib/dynflow/middleware/register.rb, line 30 def merge!(register) Type! register, Middleware::Register register.rules.each do |klass, rules| use(klass, rules) end end
use(middleware_class, options = {})
click to toggle source
# File lib/dynflow/middleware/register.rb, line 16 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