bigcommerce/gruf

View on GitHub

Showing 15 of 26 total issues

Method bind_method has 57 lines of code (exceeds 25 allowed). Consider refactoring.
Open

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?
Severity: Major
Found in lib/gruf/controllers/service_binder.rb - About 2 hrs to fix

    Method call has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
    Open

    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.
    Open

    def reset
    VALID_CONFIG_KEYS.each do |k, v|
    send(:"#{k}=", v)
    end
    self.server_binding_url = "#{::ENV.fetch('GRPC_SERVER_HOST',
    Severity: Minor
    Found in lib/gruf/configuration.rb - About 1 hr to fix

      Method call has 31 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

      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.
        Open

        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.
        Open

        def call(request_method, params = {}, metadata = {}, opts = {}, &block)
        Severity: Minor
        Found in lib/gruf/client.rb - About 35 mins to fix

          Method call has 5 arguments (exceeds 4 allowed). Consider refactoring.
          Open

          def call(request_method, params = {}, metadata = {}, opts = {}, &block)
          Severity: Minor
          Found in lib/gruf/synchronized_client.rb - About 35 mins to fix

            Method execute has 5 arguments (exceeds 4 allowed). Consider refactoring.
            Open

            def execute(call_sig, req, metadata, opts = {}, &block)
            Severity: Minor
            Found in lib/gruf/client.rb - About 35 mins to fix

              Method intercept! has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
              Open

              def intercept!(&block)
              return yield if @interceptors.none?
               
              i = @interceptors.shift
              return yield unless i
              Severity: Minor
              Found in lib/gruf/interceptors/context.rb - About 35 mins to fix

              Method call has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
              Open

              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
              Severity: Minor
              Found in lib/gruf/client.rb - About 35 mins to fix

              Method formatter has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
              Open

              def formatter
              unless @formatter
              fmt = options.fetch(:formatter, :plain)
              @formatter = case fmt
              when Symbol
              Severity: Minor
              Found in lib/gruf/interceptors/instrumentation/request_logging/interceptor.rb - About 35 mins to fix

              Method reset has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
              Open

              def reset
              VALID_CONFIG_KEYS.each do |k, v|
              send(:"#{k}=", v)
              end
              self.server_binding_url = "#{::ENV.fetch('GRPC_SERVER_HOST',
              Severity: Minor
              Found in lib/gruf/configuration.rb - About 25 mins to fix

              Method call has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
              Open

              def call(method_key, &block)
              Interceptors::Context.new(@interceptors).intercept! do
              process_action(method_key, &block)
              end
              rescue GRPC::BadStatus
              Severity: Minor
              Found in lib/gruf/controllers/base.rb - About 25 mins to fix

              Method determine_loggers has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
              Open

              def determine_loggers
              if defined?(::Rails) && ::Rails.logger
              self.logger = ::Rails.logger
              else
              require 'logger'
              Severity: Minor
              Found in lib/gruf/configuration.rb - About 25 mins to fix

              Method deserialize has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
              Open

              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
              Severity: Minor
              Found in lib/gruf/client/error_factory.rb - About 25 mins to fix
              Severity
              Category
              Status
              Source
              Language