aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ruby
diff options
context:
space:
mode:
authorGravatar Aaron Patterson <aaron.patterson@gmail.com>2018-09-17 15:32:57 -0700
committerGravatar Aaron Patterson <aaron.patterson@gmail.com>2018-09-17 15:32:57 -0700
commitd374ee9a4f2bf6945f296fe9894aecbbed496f45 (patch)
treef221b47687ad6269f60f0b15f666827e10532d48 /src/ruby
parent14610176e3b34e0459b84e8e8d7e6f9e4ea0fa29 (diff)
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.
Diffstat (limited to 'src/ruby')
-rw-r--r--src/ruby/lib/grpc/generic/rpc_desc.rb6
1 files 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 5fd1805aab..efb0e4233d 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)