From d374ee9a4f2bf6945f296fe9894aecbbed496f45 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Mon, 17 Sep 2018 15:32:57 -0700 Subject: [PATCH] Switch to `send` instead of `method(...).call` This commit switches `method(...).call` to `send`. The call sites I changed were all immediately calling `call` on the method object, then throwing the method object away. Using `send` should be equivalent and will not allocate the intermediate `method` object. --- src/ruby/lib/grpc/generic/rpc_desc.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ruby/lib/grpc/generic/rpc_desc.rb b/src/ruby/lib/grpc/generic/rpc_desc.rb index 5fd1805aabf..efb0e4233d7 100644 --- a/src/ruby/lib/grpc/generic/rpc_desc.rb +++ b/src/ruby/lib/grpc/generic/rpc_desc.rb @@ -32,7 +32,7 @@ module GRPC # @return [Proc] { |instance| marshalled(instance) } def marshal_proc - proc { |o| o.class.method(marshal_method).call(o).to_s } + proc { |o| o.class.send(marshal_method, o).to_s } end # @param [:input, :output] target determines whether to produce the an @@ -42,9 +42,9 @@ module GRPC # @return [Proc] An unmarshal proc { |marshalled(instance)| instance } def unmarshal_proc(target) fail ArgumentError unless [:input, :output].include?(target) - unmarshal_class = method(target).call + unmarshal_class = send(target) unmarshal_class = unmarshal_class.type if unmarshal_class.is_a? Stream - proc { |o| unmarshal_class.method(unmarshal_method).call(o) } + proc { |o| unmarshal_class.send(unmarshal_method, o) } end def handle_request_response(active_call, mth, inter_ctx)