From f050fcb9e5da4adf3b5b4f65c0590360113e78fd Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 28 Nov 2009 18:36:47 -0800 Subject: Allow options to be added to "use" Eventually we hope to be able to accept arguments like the way Rack handlers do it: use :Foo, :bool1, :bool2, :option => value --- lib/rainbows/http_server.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib/rainbows/http_server.rb') diff --git a/lib/rainbows/http_server.rb b/lib/rainbows/http_server.rb index da97929..b528942 100644 --- a/lib/rainbows/http_server.rb +++ b/lib/rainbows/http_server.rb @@ -52,6 +52,14 @@ module Rainbows Module === mod or raise ArgumentError, "concurrency model #{model.inspect} not supported" extend(mod) + args.each do |opt| + case opt + when Hash; O.update(opt) + when Symbol; O[opt] = true + else; raise ArgumentError, "can't handle option: #{opt.inspect}" + end + end + mod.setup if mod.respond_to?(:setup) Const::RACK_DEFAULTS['rainbows.model'] = @use = model.to_sym Const::RACK_DEFAULTS['rack.multithread'] = !!(/Thread/ =~ model.to_s) case @use -- cgit v1.2.3-24-ge0c7