From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 7345E206A4; Fri, 28 Oct 2016 20:15:05 +0000 (UTC) From: Eric Wong To: http_spew-public@bogomips.org Cc: Eric Wong Subject: [PATCH 1/5] declare empty classes with constant assignment Date: Fri, 28 Oct 2016 20:14:59 +0000 Message-Id: <20161028201503.10315-2-e@80x24.org> In-Reply-To: <20161028201503.10315-1-e@80x24.org> References: <20161028201503.10315-1-e@80x24.org> List-Id: Normal constant assignments generate less bytecode than defineclass instructions. While we're in the area, use require_relative to avoid unnecessary path traversals. --- lib/http_spew.rb | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/lib/http_spew.rb b/lib/http_spew.rb index 84359eb..e6bde3b 100644 --- a/lib/http_spew.rb +++ b/lib/http_spew.rb @@ -8,20 +8,20 @@ module HTTP_Spew autoload :HitNRun, "http_spew/hit_n_run" autoload :InputSpray, "http_spew/input_spray" - class Error < RuntimeError; end - class TimeoutError < Error; end - class ConnectionReset < Error; end - class RequestError < Error; end - class UnexpectedResponse < RequestError; end - class ChecksumError < HTTP_Spew::Error; end - class LengthError < HTTP_Spew::Error; end - class NoWritersError < HTTP_Spew::Error; end - class EOF < EOFError; end + Error = Class.new(RuntimeError) + TimeoutError = Class.new(Error) + ConnectionReset = Class.new(Error) + RequestError = Class.new(Error) + UnexpectedResponse = Class.new(RequestError) + ChecksumError = Class.new(Error) + LengthError = Class.new(Error) + NoWritersError = Class.new(Error) + EOF = Class.new(EOFError) - require "http_spew/version" - require "http_spew/headers" - require "http_spew/request" - require "http_spew/class_methods" + require_relative "http_spew/version" + require_relative "http_spew/headers" + require_relative "http_spew/request" + require_relative "http_spew/class_methods" extend HTTP_Spew::ClassMethods end -- EW