Sha256: bfaa9105c7af34458f5527be71862065c632f8e2ecf16d2aa67117138ffa03af
Contents?: true
Size: 685 Bytes
Versions: 2
Compression:
Stored size: 685 Bytes
Contents
# encoding: utf-8 module HTTPkit module Support class HandlerManager def initialize(handlers) @handlers = handlers end def invoke(message, *arguments) @handlers .select { |handler| handler.respond_to?(message) } .reduce(arguments) do |args, handler| handler.send(message, *args) { |*new_args| args = new_args } args end end # XXX not mutation covered module Setup def setup_handlers @handlers = Support::HandlerManager.new(@config[:handlers] || []) @handlers.invoke(:setup, @config, self, @connection) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
httpkit-0.6.0 | lib/httpkit/support/handler_manager.rb |
httpkit-0.6.0.pre.5 | lib/httpkit/support/handler_manager.rb |