From abc6dd47ede5b96ada1ff8f37dfba73cd5fd586a Mon Sep 17 00:00:00 2001 From: Ben Somers Date: Thu, 17 May 2012 18:46:58 -0700 Subject: Add method_missing to Raindrops::Middleware::Proxy This enables it to behave more like a Rack BodyProxy would, delegating methods to its body object when it does not implement them itself. (Also includes a minor grammar fix to a comment.) [ew: minor comment/whitespace fix] Signed-off-by: Eric Wong --- lib/raindrops/middleware/proxy.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/raindrops/middleware/proxy.rb b/lib/raindrops/middleware/proxy.rb index 53e14b5..51be3eb 100644 --- a/lib/raindrops/middleware/proxy.rb +++ b/lib/raindrops/middleware/proxy.rb @@ -1,7 +1,7 @@ # -*- encoding: binary -*- # :stopdoc: -# This class is by Raindrops::Middleware to proxy application response -# bodies. There should be no need to use it directly. +# This class is used by Raindrops::Middleware to proxy application +# response bodies. There should be no need to use it directly. class Raindrops::Middleware::Proxy def initialize(body, stats) @body, @stats = body, stats @@ -31,4 +31,11 @@ class Raindrops::Middleware::Proxy m = m.to_sym :close == m || @body.respond_to?(m) end + + # Rack::BodyProxy objects use +method_missing+ to delegate methods + # to their bodies + def method_missing(*args, &block) + @body.send(*args, &block) + end + end -- cgit v1.2.3-24-ge0c7