From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 6E6B91F4B4 for ; Mon, 10 Aug 2020 22:23:44 +0000 (UTC) From: Eric Wong To: clogger-public@yhbt.net Subject: [PATCH] doc: document Fiber.current Date: Mon, 10 Aug 2020 22:23:44 +0000 Message-Id: <20200810222344.15138-1-bofh@yhbt.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: It's always been supported (since it's just an eval), but make it explicit. We'll also drop the Actor.current example since both Rubinius and Revactor seem dead and Ractor (Guild) is probably coming... --- README | 2 +- test/test_clogger.rb | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/README b/README index c90dd1a..cdb8fba 100644 --- a/README +++ b/README @@ -89,7 +89,7 @@ that receives a "<<" method: * $ip - X-Forwarded-For request header if available, $remote_addr if not * $pid - process ID of the current process * $e{Thread.current} - Thread processing the request -* $e{Actor.current} - Actor processing the request (Revactor or Rubinius) +* $e{Fiber.current} - Fiber processing the request * $env{variable_name} - any Rack environment variable (e.g. rack.url_scheme) == REQUIREMENTS diff --git a/test/test_clogger.rb b/test/test_clogger.rb index b7dd4e9..1dee652 100644 --- a/test/test_clogger.rb +++ b/test/test_clogger.rb @@ -212,6 +212,22 @@ class TestClogger < Test::Unit::TestCase assert_equal "-#{current}-\n", str.string end + def test_fiber + begin + current = Fiber.current.to_s + rescue NameError => e + warn "your Ruby does not support fibers #{e}" + return + end + str = StringIO.new + app = lambda { |env| [ 302, {}, [] ] } + cl = Clogger.new(app, + :logger => str, + :format => "-$e{Fiber.current}-\n") + status, headers, body = cl.call(@req) + assert_equal "-#{current}-\n", str.string + end + def test_pid str = StringIO.new app = lambda { |env| [ 302, {}, [] ] }