From 7be5dc52aa6740d2b17e04850323b0493b9156ba Mon Sep 17 00:00:00 2001 From: Pascal Betz Date: Thu, 26 Sep 2019 23:06:36 +0200 Subject: [PATCH] Remove Puma::Delegation Replace with Forwardable. --- lib/puma/client.rb | 6 +++--- lib/puma/delegation.rb | 13 ------------- lib/puma/server.rb | 9 +++------ 3 files changed, 6 insertions(+), 22 deletions(-) delete mode 100644 lib/puma/delegation.rb diff --git a/lib/puma/client.rb b/lib/puma/client.rb index a9a7264120..6795b4ea0d 100644 --- a/lib/puma/client.rb +++ b/lib/puma/client.rb @@ -9,8 +9,8 @@ module WaitReadable end require 'puma/detect' -require 'puma/delegation' require 'tempfile' +require 'forwardable' if Puma::IS_JRUBY # We have to work around some OpenSSL buffer/io-readiness bugs @@ -41,7 +41,7 @@ class Client EmptyBody = NullIO.new include Puma::Const - extend Puma::Delegation + extend Forwardable def initialize(io, env=nil) @io = io @@ -83,7 +83,7 @@ def initialize(io, env=nil) attr_accessor :remote_addr_header - forward :closed?, :@io + def_delegators :@io, :closed? def inspect "#" diff --git a/lib/puma/delegation.rb b/lib/puma/delegation.rb deleted file mode 100644 index c2fdaba509..0000000000 --- a/lib/puma/delegation.rb +++ /dev/null @@ -1,13 +0,0 @@ -# frozen_string_literal: true - -module Puma - module Delegation - def forward(what, who) - module_eval <<-CODE - def #{what}(*args, &block) - #{who}.#{what}(*args, &block) - end - CODE - end - end -end diff --git a/lib/puma/server.rb b/lib/puma/server.rb index b11d34b84a..9f56ccd121 100644 --- a/lib/puma/server.rb +++ b/lib/puma/server.rb @@ -9,13 +9,13 @@ require 'puma/reactor' require 'puma/client' require 'puma/binder' -require 'puma/delegation' require 'puma/accept_nonblock' require 'puma/util' require 'puma/puma_http11' require 'socket' +require 'forwardable' module Puma @@ -32,7 +32,7 @@ module Puma class Server include Puma::Const - extend Puma::Delegation + extend Forwardable attr_reader :thread attr_reader :events @@ -89,10 +89,7 @@ def initialize(app, events=Events.stdio, options={}) attr_accessor :binder, :leak_stack_on_error, :early_hints - forward :add_tcp_listener, :@binder - forward :add_ssl_listener, :@binder - forward :add_unix_listener, :@binder - forward :connected_port, :@binder + def_delegators :@binder, :add_tcp_listener, :add_ssl_listener, :add_unix_listener, :connected_port def inherit_binder(bind) @binder = bind