Method bind_method
has 57 lines of code (exceeds 25 allowed). Consider refactoring.
def bind_method(service_ref, controller, method_name, desc)
method_key = method_name.to_s.underscore.to_sym
controller_name = controller.name
service_ref.class_eval do
if desc.request_response?
Method call
has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
def call(&block)
return yield if options.fetch(:ignore_methods, [])&.include?(request.method_name)
result = Gruf::Interceptors::Timer.time(&block)
Method reset
has 33 lines of code (exceeds 25 allowed). Consider refactoring.
def reset
VALID_CONFIG_KEYS.each do |k, v|
send(:"#{k}=", v)
end
self.server_binding_url = "
Method call
has 31 lines of code (exceeds 25 allowed). Consider refactoring.
def call(&block)
return yield if options.fetch(:ignore_methods, [])&.include?(request.method_name)
result = Gruf::Interceptors::Timer.time(&block)
Method redact!
has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
def redact!(parts = [], idx = 0, params = {}, redacted_string = 'REDACTED')
return unless parts.is_a?(Array) && params.is_a?(Hash)
return if idx >= parts.size || !params.key?(parts[idx])
Method call
has 5 arguments (exceeds 4 allowed). Consider refactoring.
def call(request_method, params = {}, metadata = {}, opts = {}, &block)
Method call
has 5 arguments (exceeds 4 allowed). Consider refactoring.
def call(request_method, params = {}, metadata = {}, opts = {}, &block)
Method execute
has 5 arguments (exceeds 4 allowed). Consider refactoring.
def execute(call_sig, req, metadata, opts = {}, &block)
Method intercept!
has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
def intercept!(&block)
return yield if @interceptors.none?
i = @interceptors.shift
return yield unless i
Method call
has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
def call(request_method, params = {}, metadata = {}, opts = {}, &block)
request_method = request_method.to_sym
req = if params.respond_to?(:to_proto) || streaming_request?(request_method)
params
else
Method formatter
has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
def formatter
unless @formatter
fmt = options.fetch(:formatter, :plain)
@formatter = case fmt
when Symbol
Method reset
has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
def reset
VALID_CONFIG_KEYS.each do |k, v|
send(:"#{k}=", v)
end
self.server_binding_url = "
Method call
has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
def call(method_key, &block)
Interceptors::Context.new(@interceptors).intercept! do
process_action(method_key, &block)
end
rescue GRPC::BadStatus
Method determine_loggers
has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
def determine_loggers
if defined?(::Rails) && ::Rails.logger
self.logger = ::Rails.logger
else
require 'logger'
Method deserialize
has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
def deserialize(exception)
if exception.respond_to?(:metadata)
key = exception.metadata.key?(@metadata_key.to_s) ? @metadata_key.to_s : @metadata_key.to_sym
return @deserializer_class.new(exception.metadata[key]).deserialize if exception.metadata.key?(key)
end