From f611a189629923d41a37123a1ce56e7eb03c9193 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Sat, 28 Jun 2025 10:52:10 -0400 Subject: [PATCH 01/46] Add rubocop with a todo list --- .rubocop.yml | 4 + .rubocop_todo.yml | 530 ++++++++++++++++++++++++++++++++++++++++++ Rakefile | 10 +- grape_logging.gemspec | 1 + 4 files changed, 543 insertions(+), 2 deletions(-) create mode 100644 .rubocop.yml create mode 100644 .rubocop_todo.yml diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 0000000..2cac09a --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,4 @@ +inherit_from: .rubocop_todo.yml + +AllCops: + NewCops: enable diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml new file mode 100644 index 0000000..8aa26da --- /dev/null +++ b/.rubocop_todo.yml @@ -0,0 +1,530 @@ +# This configuration was generated by +# `rubocop --auto-gen-config` +# on 2025-06-28 14:51:29 UTC using RuboCop version 1.77.0. +# The point is for the user to remove these configuration records +# one by one as the offenses are removed from the code base. +# Note that changes in the inspected code, or installation of new +# versions of RuboCop, may require this file to be generated again. + +# Offense count: 3 +# Configuration parameters: EnforcedStyle, AllowedGems, Include. +# SupportedStyles: Gemfile, gems.rb, gemspec +# Include: **/*.gemspec, **/Gemfile, **/gems.rb +Gemspec/DevelopmentDependencies: + Exclude: + - 'grape_logging.gemspec' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Severity, Include. +# Include: **/*.gemspec +Gemspec/RequireMFA: + Exclude: + - 'grape_logging.gemspec' + +# Offense count: 1 +# Configuration parameters: Severity, Include. +# Include: **/*.gemspec +Gemspec/RequiredRubyVersion: + Exclude: + - 'grape_logging.gemspec' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, IndentOneStep, IndentationWidth. +# SupportedStyles: case, end +Layout/CaseIndentation: + Exclude: + - 'claude-scratchpad/cleaner_parameter_filter.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +Layout/ElseAlignment: + Exclude: + - 'claude-scratchpad/cleaner_parameter_filter.rb' + - 'lib/grape_logging/middleware/request_logger.rb' + - 'spec/lib/grape_logging/formatters/rails_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLines: + Exclude: + - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: around, only_before +Layout/EmptyLinesAroundAccessModifier: + Exclude: + - 'lib/grape_logging/formatters/default.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: empty_lines, no_empty_lines +Layout/EmptyLinesAroundBlockBody: + Exclude: + - 'spec/lib/grape_logging/formatters/rails_spec.rb' + +# Offense count: 5 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only +Layout/EmptyLinesAroundClassBody: + Exclude: + - 'lib/grape_logging/formatters/rails.rb' + - 'lib/grape_logging/loggers/request_headers.rb' + - 'lib/grape_logging/middleware/request_logger.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Layout/EmptyLinesAroundMethodBody: + Exclude: + - 'lib/grape_logging/loggers/response.rb' + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleAlignWith, Severity. +# SupportedStylesAlignWith: keyword, variable, start_of_line +Layout/EndAlignment: + Exclude: + - 'claude-scratchpad/cleaner_parameter_filter.rb' + - 'lib/grape_logging/middleware/request_logger.rb' + - 'spec/lib/grape_logging/formatters/rails_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment. +Layout/ExtraSpacing: + Exclude: + - 'lib/grape_logging/util/parameter_filter.rb' + +# Offense count: 26 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: IndentationWidth. +# SupportedStyles: special_inside_parentheses, consistent, align_braces +Layout/FirstHashElementIndentation: + EnforcedStyle: consistent + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle. +# SupportedHashRocketStyles: key, separator, table +# SupportedColonStyles: key, separator, table +# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit +Layout/HashAlignment: + Exclude: + - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' + +# Offense count: 5 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: Width, AllowedPatterns. +Layout/IndentationWidth: + Exclude: + - 'claude-scratchpad/cleaner_parameter_filter.rb' + - 'lib/grape_logging/middleware/request_logger.rb' + - 'spec/lib/grape_logging/formatters/rails_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator, EnforcedStyleForRationalLiterals. +# SupportedStylesForExponentOperator: space, no_space +# SupportedStylesForRationalLiterals: space, no_space +Layout/SpaceAroundOperators: + Exclude: + - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' + +# Offense count: 6 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceBeforeBlockBraces: + Exclude: + - 'lib/grape_logging/formatters/rails.rb' + - 'lib/grape_logging/loggers/filter_parameters.rb' + - 'lib/grape_logging/loggers/response.rb' + - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +Layout/SpaceBeforeComma: + Exclude: + - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. +# SupportedStyles: space, no_space +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideBlockBraces: + Exclude: + - 'lib/grape_logging/formatters/rails.rb' + - 'lib/grape_logging/multi_io.rb' + +# Offense count: 16 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. +# SupportedStyles: space, no_space, compact +# SupportedStylesForEmptyBraces: space, no_space +Layout/SpaceInsideHashLiteralBraces: + Exclude: + - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' + - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' + - 'spec/lib/grape_logging/loggers/response_spec.rb' + - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' + +# Offense count: 4 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: final_newline, final_blank_line +Layout/TrailingEmptyLines: + Exclude: + - 'claude-scratchpad/cleaner_parameter_filter.rb' + - 'lib/grape_logging/multi_io.rb' + - 'lib/grape_logging/reporters/active_support_reporter.rb' + - 'lib/grape_logging/timings.rb' + +# Offense count: 11 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowInHeredoc. +Layout/TrailingWhitespace: + Exclude: + - 'claude-scratchpad/cleaner_parameter_filter.rb' + +# Offense count: 1 +# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch. +Lint/DuplicateBranch: + Exclude: + - 'lib/grape_logging/util/parameter_filter.rb' + +# Offense count: 6 +Lint/HashCompareByIdentity: + Exclude: + - 'claude-scratchpad/cleaner_parameter_filter.rb' + +# Offense count: 1 +# Configuration parameters: AllowedParentClasses. +Lint/MissingSuper: + Exclude: + - 'lib/grape_logging/loggers/filter_parameters.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: strict, consistent +Lint/SymbolConversion: + Exclude: + - 'spec/lib/grape_logging/loggers/response_spec.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AutoCorrect, AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions. +# NotImplementedExceptions: NotImplementedError +Lint/UnusedMethodArgument: + Exclude: + - 'lib/grape_logging/loggers/base.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AutoCorrect. +Lint/UselessAssignment: + Exclude: + - 'claude-scratchpad/cleaner_parameter_filter.rb' + +# Offense count: 1 +Lint/UselessConstantScoping: + Exclude: + - 'claude-scratchpad/cleaner_parameter_filter.rb' + +# Offense count: 4 +# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. +Metrics/AbcSize: + Max: 38 + +# Offense count: 8 +# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns. +# AllowedMethods: refine +Metrics/BlockLength: + Max: 88 + +# Offense count: 4 +# Configuration parameters: AllowedMethods, AllowedPatterns. +Metrics/CyclomaticComplexity: + Max: 18 + +# Offense count: 7 +# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns. +Metrics/MethodLength: + Max: 20 + +# Offense count: 3 +# Configuration parameters: AllowedMethods, AllowedPatterns. +Metrics/PerceivedComplexity: + Max: 19 + +# Offense count: 2 +# Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns. +# SupportedStyles: snake_case, normalcase, non_integer +# AllowedIdentifiers: TLS1_1, TLS1_2, capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64 +Naming/VariableNumber: + Exclude: + - 'spec/lib/grape_logging/formatters/rails_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Style/BlockComments: + Exclude: + - 'spec/spec_helper.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods. +# SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces +# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object +# FunctionalMethods: let, let!, subject, watch +# AllowedMethods: lambda, proc, it +Style/BlockDelimiters: + Exclude: + - 'spec/lib/grape_logging/formatters/rails_spec.rb' + +# Offense count: 3 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: MinBranchesCount. +Style/CaseLikeIf: + Exclude: + - 'lib/grape_logging/formatters/default.rb' + - 'lib/grape_logging/formatters/logstash.rb' + - 'lib/grape_logging/formatters/rails.rb' + +# Offense count: 18 +# Configuration parameters: AllowedConstants. +Style/Documentation: + Enabled: false + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Style/ExpandPathArguments: + Exclude: + - 'grape_logging.gemspec' + +# Offense count: 30 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: always, always_true, never +Style/FrozenStringLiteralComment: + Enabled: false + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/GlobalStdStream: + Exclude: + - 'lib/grape_logging/reporters/logger_reporter.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. +Style/GuardClause: + Exclude: + - 'lib/grape_logging/reporters/logger_reporter.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. +# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys +# SupportedShorthandSyntax: always, never, either, consistent, either_consistent +Style/HashSyntax: + Exclude: + - 'lib/grape_logging/formatters/logstash.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +Style/IfUnlessModifier: + Exclude: + - 'claude-scratchpad/cleaner_parameter_filter.rb' + - 'lib/grape_logging/reporters/logger_reporter.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: line_count_dependent, lambda, literal +Style/Lambda: + Exclude: + - 'lib/grape_logging/util/parameter_filter.rb' + - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle, Autocorrect. +# SupportedStyles: module_function, extend_self, forbidden +Style/ModuleFunction: + Exclude: + - 'lib/grape_logging/timings.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Style/MultilineIfModifier: + Exclude: + - 'lib/grape_logging/middleware/request_logger.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: literals, strict +Style/MutableConstant: + Exclude: + - 'lib/grape_logging/version.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, MinBodyLength, AllowConsecutiveConditionals. +# SupportedStyles: skip_modifier_ifs, always +Style/Next: + Exclude: + - 'claude-scratchpad/cleaner_parameter_filter.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns. +# SupportedStyles: predicate, comparison +Style/NumericPredicate: + Exclude: + - 'spec/**/*' + - 'lib/grape_logging/formatters/rails.rb' + +# Offense count: 10 +Style/OpenStructUse: + Exclude: + - 'spec/lib/grape_logging/loggers/client_env_spec.rb' + - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' + - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' + - 'spec/lib/grape_logging/loggers/response_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Style/ParallelAssignment: + Exclude: + - 'lib/grape_logging/util/parameter_filter.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: PreferredDelimiters. +Style/PercentLiteralDelimiters: + Exclude: + - 'grape_logging.gemspec' + - 'lib/grape_logging/loggers/filter_parameters.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: same_as_string_literals, single_quotes, double_quotes +Style/QuotedSymbols: + Exclude: + - 'spec/lib/grape_logging/loggers/response_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantConstantBase: + Exclude: + - 'lib/grape_logging/util/parameter_filter.rb' + +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +Style/RedundantPercentQ: + Exclude: + - 'grape_logging.gemspec' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: implicit, explicit +Style/RescueStandardError: + Exclude: + - 'lib/grape_logging/loggers/response.rb' + +# Offense count: 4 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. +# AllowedMethods: present?, blank?, presence, try, try! +Style/SafeNavigation: + Exclude: + - 'claude-scratchpad/cleaner_parameter_filter.rb' + - 'lib/grape_logging/formatters/rails.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/SlicingWithRange: + Exclude: + - 'lib/grape_logging/loggers/request_headers.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: RequireEnglish, EnforcedStyle. +# SupportedStyles: use_perl_names, use_english_names, use_builtin_english_names +Style/SpecialGlobalVars: + Exclude: + - 'spec/spec_helper.rb' + +# Offense count: 3 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Mode. +Style/StringConcatenation: + Exclude: + - 'lib/grape_logging/formatters/json.rb' + - 'lib/grape_logging/formatters/lograge.rb' + - 'lib/grape_logging/formatters/logstash.rb' + +# Offense count: 33 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. +# SupportedStyles: single_quotes, double_quotes +Style/StringLiterals: + Exclude: + - 'grape_logging.gemspec' + - 'lib/grape_logging/formatters/rails.rb' + - 'lib/grape_logging/loggers/client_env.rb' + - 'lib/grape_logging/util/parameter_filter.rb' + - 'spec/lib/grape_logging/formatters/rails_spec.rb' + - 'spec/lib/grape_logging/loggers/client_env_spec.rb' + - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' + - 'spec/lib/grape_logging/loggers/response_spec.rb' + - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' + +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: single_quotes, double_quotes +Style/StringLiteralsInInterpolation: + Exclude: + - 'lib/grape_logging/formatters/rails.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments. +# AllowedMethods: define_method +Style/SymbolProc: + Exclude: + - 'lib/grape_logging/util/parameter_filter.rb' + +# Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyleForMultiline. +# SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma +Style/TrailingCommaInHashLiteral: + Exclude: + - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' + - 'spec/lib/grape_logging/loggers/response_spec.rb' + +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/ZeroLengthPredicate: + Exclude: + - 'lib/grape_logging/formatters/rails.rb' + +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings. +# URISchemes: http, https +Layout/LineLength: + Max: 205 diff --git a/Rakefile b/Rakefile index 4c774a2..7e9ea69 100644 --- a/Rakefile +++ b/Rakefile @@ -1,6 +1,12 @@ require 'bundler/gem_tasks' require 'rspec/core/rake_task' +require 'rubocop/rake_task' -RSpec::Core::RakeTask.new(:spec) +RSpec::Core::RakeTask.new(:spec) do |spec| + spec.rspec_opts = ['-fd -c'] + spec.pattern = FileList['spec/**/*_spec.rb'] +end -task default: :spec +RuboCop::RakeTask.new(:rubocop) + +task default: %i[spec rubocop] diff --git a/grape_logging.gemspec b/grape_logging.gemspec index 6afc5a9..18b9da0 100644 --- a/grape_logging.gemspec +++ b/grape_logging.gemspec @@ -23,4 +23,5 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rspec', '~> 3.5' + spec.add_development_dependency 'rubocop' end From 2967344f2b87aaac1a9d4ef1b85927e526e762a4 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Sat, 28 Jun 2025 10:54:01 -0400 Subject: [PATCH 02/46] Run rubocop as part of the CI workflow --- .github/workflows/ci.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 460787a..df04c74 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,4 +20,17 @@ jobs: - name: Install dependencies run: bundle install - name: Run tests - run: bundle exec rspec spec/ + run: bundle exec rake spec + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: "3.4" + bundler-cache: true + - name: Install dependencies + run: bundle install + - name: Run tests + run: bundle exec rake rubocop From 69f5e392d13762f0ae4bd0569ba1195c241b6d20 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 10:44:23 +0100 Subject: [PATCH 03/46] Autofix for RuboCop: Layout/ElseAlignment --- .rubocop_todo.yml | 8 -------- lib/grape_logging/middleware/request_logger.rb | 2 +- spec/lib/grape_logging/formatters/rails_spec.rb | 2 +- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 8aa26da..eeddb15 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -37,14 +37,6 @@ Layout/CaseIndentation: Exclude: - 'claude-scratchpad/cleaner_parameter_filter.rb' -# Offense count: 4 -# This cop supports safe autocorrection (--autocorrect). -Layout/ElseAlignment: - Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - - 'lib/grape_logging/middleware/request_logger.rb' - - 'spec/lib/grape_logging/formatters/rails_spec.rb' - # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). Layout/EmptyLines: diff --git a/lib/grape_logging/middleware/request_logger.rb b/lib/grape_logging/middleware/request_logger.rb index cfbd40a..fb626cd 100644 --- a/lib/grape_logging/middleware/request_logger.rb +++ b/lib/grape_logging/middleware/request_logger.rb @@ -19,7 +19,7 @@ def initialize(app, options = {}) @included_loggers = @options[:include] || [] @reporter = if options[:instrumentation_key] Reporters::ActiveSupportReporter.new(@options[:instrumentation_key]) - else + else Reporters::LoggerReporter.new(@options[:logger], @options[:formatter], @options[:log_level]) end end diff --git a/spec/lib/grape_logging/formatters/rails_spec.rb b/spec/lib/grape_logging/formatters/rails_spec.rb index 03416fe..65c410f 100644 --- a/spec/lib/grape_logging/formatters/rails_spec.rb +++ b/spec/lib/grape_logging/formatters/rails_spec.rb @@ -64,7 +64,7 @@ expected_output = if RUBY_VERSION >= '3.4' ' Parameters: {"some_param" => {value_1: "123", value_2: "456"}}' - else + else ' Parameters: {"some_param"=>{:value_1=>"123", :value_2=>"456"}}' end expect(lines.first).to eq expected_output From 672a086dae4f373a535166bcc96b76fc80bea582 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 10:47:15 +0100 Subject: [PATCH 04/46] Regen autogen, removing all claude-scratchpad/* --- .rubocop_todo.yml | 69 +++++++++-------------------------------------- 1 file changed, 12 insertions(+), 57 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index eeddb15..8e15417 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2025-06-28 14:51:29 UTC using RuboCop version 1.77.0. +# on 2025-06-30 09:46:22 UTC using RuboCop version 1.77.0. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -29,14 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, IndentOneStep, IndentationWidth. -# SupportedStyles: case, end -Layout/CaseIndentation: - Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). Layout/EmptyLines: @@ -75,13 +67,12 @@ Layout/EmptyLinesAroundMethodBody: Exclude: - 'lib/grape_logging/loggers/response.rb' -# Offense count: 7 +# Offense count: 2 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyleAlignWith, Severity. # SupportedStylesAlignWith: keyword, variable, start_of_line Layout/EndAlignment: Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - 'lib/grape_logging/middleware/request_logger.rb' - 'spec/lib/grape_logging/formatters/rails_spec.rb' @@ -109,12 +100,11 @@ Layout/HashAlignment: Exclude: - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' -# Offense count: 5 +# Offense count: 4 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: Width, AllowedPatterns. Layout/IndentationWidth: Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - 'lib/grape_logging/middleware/request_logger.rb' - 'spec/lib/grape_logging/formatters/rails_spec.rb' @@ -167,35 +157,22 @@ Layout/SpaceInsideHashLiteralBraces: - 'spec/lib/grape_logging/loggers/response_spec.rb' - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' -# Offense count: 4 +# Offense count: 3 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: final_newline, final_blank_line Layout/TrailingEmptyLines: Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - 'lib/grape_logging/multi_io.rb' - 'lib/grape_logging/reporters/active_support_reporter.rb' - 'lib/grape_logging/timings.rb' -# Offense count: 11 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowInHeredoc. -Layout/TrailingWhitespace: - Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - # Offense count: 1 # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch. Lint/DuplicateBranch: Exclude: - 'lib/grape_logging/util/parameter_filter.rb' -# Offense count: 6 -Lint/HashCompareByIdentity: - Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - # Offense count: 1 # Configuration parameters: AllowedParentClasses. Lint/MissingSuper: @@ -218,19 +195,7 @@ Lint/UnusedMethodArgument: Exclude: - 'lib/grape_logging/loggers/base.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AutoCorrect. -Lint/UselessAssignment: - Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - -# Offense count: 1 -Lint/UselessConstantScoping: - Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - -# Offense count: 4 +# Offense count: 3 # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. Metrics/AbcSize: Max: 38 @@ -241,17 +206,17 @@ Metrics/AbcSize: Metrics/BlockLength: Max: 88 -# Offense count: 4 +# Offense count: 3 # Configuration parameters: AllowedMethods, AllowedPatterns. Metrics/CyclomaticComplexity: Max: 18 -# Offense count: 7 +# Offense count: 5 # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns. Metrics/MethodLength: Max: 20 -# Offense count: 3 +# Offense count: 2 # Configuration parameters: AllowedMethods, AllowedPatterns. Metrics/PerceivedComplexity: Max: 19 @@ -290,7 +255,7 @@ Style/CaseLikeIf: - 'lib/grape_logging/formatters/logstash.rb' - 'lib/grape_logging/formatters/rails.rb' -# Offense count: 18 +# Offense count: 17 # Configuration parameters: AllowedConstants. Style/Documentation: Enabled: false @@ -301,7 +266,7 @@ Style/ExpandPathArguments: Exclude: - 'grape_logging.gemspec' -# Offense count: 30 +# Offense count: 29 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle. # SupportedStyles: always, always_true, never @@ -330,11 +295,10 @@ Style/HashSyntax: Exclude: - 'lib/grape_logging/formatters/logstash.rb' -# Offense count: 2 +# Offense count: 1 # This cop supports safe autocorrection (--autocorrect). Style/IfUnlessModifier: Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - 'lib/grape_logging/reporters/logger_reporter.rb' # Offense count: 2 @@ -368,14 +332,6 @@ Style/MutableConstant: Exclude: - 'lib/grape_logging/version.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, MinBodyLength, AllowConsecutiveConditionals. -# SupportedStyles: skip_modifier_ifs, always -Style/Next: - Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns. @@ -435,13 +391,12 @@ Style/RescueStandardError: Exclude: - 'lib/grape_logging/loggers/response.rb' -# Offense count: 4 +# Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. # AllowedMethods: present?, blank?, presence, try, try! Style/SafeNavigation: Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - 'lib/grape_logging/formatters/rails.rb' # Offense count: 1 From b4daa9b92e38cf5109762045a4dade31654b37a7 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 10:48:15 +0100 Subject: [PATCH 05/46] Autofix RuboCop Layout/EmptyLine --- .rubocop_todo.yml | 6 ------ spec/lib/grape_logging/loggers/filter_parameters_spec.rb | 1 - 2 files changed, 7 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 8e15417..b554271 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,12 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Layout/EmptyLines: - Exclude: - - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' - # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. diff --git a/spec/lib/grape_logging/loggers/filter_parameters_spec.rb b/spec/lib/grape_logging/loggers/filter_parameters_spec.rb index 8b0a031..2f28b58 100644 --- a/spec/lib/grape_logging/loggers/filter_parameters_spec.rb +++ b/spec/lib/grape_logging/loggers/filter_parameters_spec.rb @@ -1,7 +1,6 @@ require 'spec_helper' require 'ostruct' - describe GrapeLogging::Loggers::FilterParameters do let(:filtered_parameters) { %w[one four] } From 86f2485b2d74b3f046104466edd25bad9f1a5c7b Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 10:50:37 +0100 Subject: [PATCH 06/46] AutoFix RuboCop Style/ZeroLengthPredicate --- .rubocop_todo.yml | 5 ----- lib/grape_logging/formatters/rails.rb | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index b554271..28d0ab1 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -457,11 +457,6 @@ Style/TrailingCommaInHashLiteral: - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' - 'spec/lib/grape_logging/loggers/response_spec.rb' -# Offense count: 1 -# This cop supports unsafe autocorrection (--autocorrect-all). -Style/ZeroLengthPredicate: - Exclude: - - 'lib/grape_logging/formatters/rails.rb' # Offense count: 3 # This cop supports safe autocorrection (--autocorrect). diff --git a/lib/grape_logging/formatters/rails.rb b/lib/grape_logging/formatters/rails.rb index 1451862..eb7182f 100644 --- a/lib/grape_logging/formatters/rails.rb +++ b/lib/grape_logging/formatters/rails.rb @@ -47,7 +47,7 @@ def format_hash(hash) message << " Parameters: #{params.inspect}\n" if params message << "Completed #{status} #{::Rack::Utils::HTTP_STATUS_CODES[status]} in #{total_time}ms" - message << " (#{additions.join(" | ".freeze)})" if additions.size > 0 + message << " (#{additions.join(" | ".freeze)})" unless additions.empty? message << "\n" message << "\n" if defined?(::Rails.env) && ::Rails.env.development? From 223c84cd2ca5dacccb395cacdb5eee79bb916c90 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 11:05:37 +0100 Subject: [PATCH 07/46] AutoFix RuboCop Layout/EmptyLinesAroundAccessModifier --- .rubocop_todo.yml | 8 -------- lib/grape_logging/formatters/default.rb | 1 + 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 28d0ab1..8119b19 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,14 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: around, only_before -Layout/EmptyLinesAroundAccessModifier: - Exclude: - - 'lib/grape_logging/formatters/default.rb' - # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. diff --git a/lib/grape_logging/formatters/default.rb b/lib/grape_logging/formatters/default.rb index 54c1344..7b2d16a 100644 --- a/lib/grape_logging/formatters/default.rb +++ b/lib/grape_logging/formatters/default.rb @@ -18,6 +18,7 @@ def format(data) end private + def format_hash(hash) hash.keys.sort.map { |key| "#{key}=#{hash[key]}" }.join(' ') end From fc2add8c959561c808068fd6282711ce41cb3ec0 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 11:11:51 +0100 Subject: [PATCH 08/46] AutoFix RuboCop Layout/EmptyLinesAroundMethodBody --- .rubocop_todo.yml | 6 ------ lib/grape_logging/loggers/response.rb | 1 - 2 files changed, 7 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 8119b19..cad09dc 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -47,12 +47,6 @@ Layout/EmptyLinesAroundClassBody: - 'lib/grape_logging/loggers/request_headers.rb' - 'lib/grape_logging/middleware/request_logger.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Layout/EmptyLinesAroundMethodBody: - Exclude: - - 'lib/grape_logging/loggers/response.rb' - # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyleAlignWith, Severity. diff --git a/lib/grape_logging/loggers/response.rb b/lib/grape_logging/loggers/response.rb index 8b76d12..81c45c6 100644 --- a/lib/grape_logging/loggers/response.rb +++ b/lib/grape_logging/loggers/response.rb @@ -11,7 +11,6 @@ def parameters(_, response) # For example, if you POST on a PUT endpoint, response.body is egal to """". # It's strange, but it's the Grape behavior... def serialized_response_body(response) - if response.respond_to?(:body) # Rack responses begin From aa596b832c8030d5e0fa47e441507fe3e4881888 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 12:32:07 +0100 Subject: [PATCH 09/46] AutoFix RuboCop Layout/EmptyLinesAroundBlockBody --- .rubocop_todo.yml | 8 -------- spec/lib/grape_logging/formatters/rails_spec.rb | 1 - 2 files changed, 9 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index cad09dc..48b5bdc 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,14 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: empty_lines, no_empty_lines -Layout/EmptyLinesAroundBlockBody: - Exclude: - - 'spec/lib/grape_logging/formatters/rails_spec.rb' - # Offense count: 5 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. diff --git a/spec/lib/grape_logging/formatters/rails_spec.rb b/spec/lib/grape_logging/formatters/rails_spec.rb index 65c410f..b853028 100644 --- a/spec/lib/grape_logging/formatters/rails_spec.rb +++ b/spec/lib/grape_logging/formatters/rails_spec.rb @@ -80,5 +80,4 @@ end end end - end From cf62a2439da8c3e00cb7c461531ebef77ad28c1c Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 12:32:40 +0100 Subject: [PATCH 10/46] AutoFix RuboCop Layout/EmptyLinesAroundClassBody --- .rubocop_todo.yml | 10 ---------- lib/grape_logging/formatters/rails.rb | 2 -- lib/grape_logging/loggers/request_headers.rb | 2 -- lib/grape_logging/middleware/request_logger.rb | 1 - 4 files changed, 15 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 48b5bdc..0e406c2 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,16 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 5 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only -Layout/EmptyLinesAroundClassBody: - Exclude: - - 'lib/grape_logging/formatters/rails.rb' - - 'lib/grape_logging/loggers/request_headers.rb' - - 'lib/grape_logging/middleware/request_logger.rb' - # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyleAlignWith, Severity. diff --git a/lib/grape_logging/formatters/rails.rb b/lib/grape_logging/formatters/rails.rb index eb7182f..fd21564 100644 --- a/lib/grape_logging/formatters/rails.rb +++ b/lib/grape_logging/formatters/rails.rb @@ -3,7 +3,6 @@ module GrapeLogging module Formatters class Rails - def call(severity, datetime, _, data) if data.is_a?(String) "#{severity[0..0]} [#{datetime}] #{severity} -- : #{data}\n" @@ -53,7 +52,6 @@ def format_hash(hash) message end - end end end diff --git a/lib/grape_logging/loggers/request_headers.rb b/lib/grape_logging/loggers/request_headers.rb index 40c86d4..1d6a637 100644 --- a/lib/grape_logging/loggers/request_headers.rb +++ b/lib/grape_logging/loggers/request_headers.rb @@ -1,7 +1,6 @@ module GrapeLogging module Loggers class RequestHeaders < GrapeLogging::Loggers::Base - HTTP_PREFIX = 'HTTP_'.freeze def parameters(request, _) @@ -16,7 +15,6 @@ def parameters(request, _) { headers: headers } end - end end end diff --git a/lib/grape_logging/middleware/request_logger.rb b/lib/grape_logging/middleware/request_logger.rb index fb626cd..3bcfa16 100644 --- a/lib/grape_logging/middleware/request_logger.rb +++ b/lib/grape_logging/middleware/request_logger.rb @@ -3,7 +3,6 @@ module GrapeLogging module Middleware class RequestLogger < Grape::Middleware::Base - ActiveSupport::Notifications.subscribe('sql.active_record') do |*args| event = ActiveSupport::Notifications::Event.new(*args) GrapeLogging::Timings.append_db_runtime(event) From 4cdf5f31b61092c24445d8b356236d76b6ab8af9 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 12:33:06 +0100 Subject: [PATCH 11/46] AutoFix RuboCop Layout/EndAlignment --- .rubocop_todo.yml | 9 --------- lib/grape_logging/middleware/request_logger.rb | 2 +- spec/lib/grape_logging/formatters/rails_spec.rb | 2 +- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 0e406c2..002c192 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,15 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyleAlignWith, Severity. -# SupportedStylesAlignWith: keyword, variable, start_of_line -Layout/EndAlignment: - Exclude: - - 'lib/grape_logging/middleware/request_logger.rb' - - 'spec/lib/grape_logging/formatters/rails_spec.rb' - # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment. diff --git a/lib/grape_logging/middleware/request_logger.rb b/lib/grape_logging/middleware/request_logger.rb index 3bcfa16..59595f7 100644 --- a/lib/grape_logging/middleware/request_logger.rb +++ b/lib/grape_logging/middleware/request_logger.rb @@ -20,7 +20,7 @@ def initialize(app, options = {}) Reporters::ActiveSupportReporter.new(@options[:instrumentation_key]) else Reporters::LoggerReporter.new(@options[:logger], @options[:formatter], @options[:log_level]) - end + end end def before diff --git a/spec/lib/grape_logging/formatters/rails_spec.rb b/spec/lib/grape_logging/formatters/rails_spec.rb index b853028..55399f2 100644 --- a/spec/lib/grape_logging/formatters/rails_spec.rb +++ b/spec/lib/grape_logging/formatters/rails_spec.rb @@ -66,7 +66,7 @@ ' Parameters: {"some_param" => {value_1: "123", value_2: "456"}}' else ' Parameters: {"some_param"=>{:value_1=>"123", :value_2=>"456"}}' - end + end expect(lines.first).to eq expected_output expect(lines.last).to eq "Completed 200 OK in 272.4ms (Views: 231.77ms | DB: 40.63ms)" end From b6833655f58905b3a759e94223dfd4b0db4d330e Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 12:33:41 +0100 Subject: [PATCH 12/46] AutoFix RuboCop Layout/ExtraSpacing --- .rubocop_todo.yml | 7 ------- lib/grape_logging/util/parameter_filter.rb | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 002c192..886d37d 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,13 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment. -Layout/ExtraSpacing: - Exclude: - - 'lib/grape_logging/util/parameter_filter.rb' - # Offense count: 26 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: IndentationWidth. diff --git a/lib/grape_logging/util/parameter_filter.rb b/lib/grape_logging/util/parameter_filter.rb index 1b04fb9..c840a96 100644 --- a/lib/grape_logging/util/parameter_filter.rb +++ b/lib/grape_logging/util/parameter_filter.rb @@ -67,7 +67,7 @@ def initialize(replacement, regexps, deep_regexps, blocks) @replacement = replacement @regexps = regexps @deep_regexps = deep_regexps.any? ? deep_regexps : nil - @blocks = blocks + @blocks = blocks end def call(original_params, parents = []) From c9dfc2097331324cd51b817711cd29a5a653d187 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 12:34:20 +0100 Subject: [PATCH 13/46] AutoFix RuboCop Layout/FirstHashElementIndentation --- .rubocop_todo.yml | 7 -- .../grape_logging/loggers/client_env_spec.rb | 12 ++-- .../loggers/filter_parameters_spec.rb | 68 +++++++++---------- .../loggers/request_headers_spec.rb | 20 +++--- .../grape_logging/loggers/response_spec.rb | 8 +-- 5 files changed, 54 insertions(+), 61 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 886d37d..50ce2da 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,13 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 26 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: IndentationWidth. -# SupportedStyles: special_inside_parentheses, consistent, align_braces -Layout/FirstHashElementIndentation: - EnforcedStyle: consistent - # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle. diff --git a/spec/lib/grape_logging/loggers/client_env_spec.rb b/spec/lib/grape_logging/loggers/client_env_spec.rb index f163fe8..2676319 100644 --- a/spec/lib/grape_logging/loggers/client_env_spec.rb +++ b/spec/lib/grape_logging/loggers/client_env_spec.rb @@ -10,8 +10,8 @@ context 'forwarded for' do let(:mock_request) do OpenStruct.new(env: { - "HTTP_X_FORWARDED_FOR" => forwarded_for - }) + "HTTP_X_FORWARDED_FOR" => forwarded_for + }) end it 'sets the ip key' do @@ -27,8 +27,8 @@ context 'remote address' do let(:mock_request) do OpenStruct.new(env: { - "REMOTE_ADDR" => remote_addr - }) + "REMOTE_ADDR" => remote_addr + }) end it 'sets the ip key' do @@ -39,8 +39,8 @@ context 'user agent' do let(:mock_request) do OpenStruct.new(env: { - "HTTP_USER_AGENT" => user_agent - }) + "HTTP_USER_AGENT" => user_agent + }) end it 'sets the ua key' do diff --git a/spec/lib/grape_logging/loggers/filter_parameters_spec.rb b/spec/lib/grape_logging/loggers/filter_parameters_spec.rb index 2f28b58..67b7705 100644 --- a/spec/lib/grape_logging/loggers/filter_parameters_spec.rb +++ b/spec/lib/grape_logging/loggers/filter_parameters_spec.rb @@ -6,13 +6,13 @@ let(:mock_request) do OpenStruct.new(params: { - 'this_one' => 'this one', - 'that_one' => 'one', - 'two' => 'two', - 'three' => 'three', - 'four' => 'four', - "\xff" => 'invalid utf8', - }) + 'this_one' => 'this one', + 'that_one' => 'one', + 'two' => 'two', + 'three' => 'three', + 'four' => 'four', + "\xff" => 'invalid utf8', + }) end let(:mock_request_with_deep_nesting) do @@ -35,37 +35,37 @@ shared_examples 'filtering' do it 'filters out sensitive parameters' do expect(subject.parameters(mock_request, nil)).to eq(params: { - 'this_one' => subject.instance_variable_get('@replacement'), - 'that_one' => subject.instance_variable_get('@replacement'), - 'two' => 'two', - 'three' => 'three', - 'four' => subject.instance_variable_get('@replacement'), - "\xff" => 'invalid utf8', - }) + 'this_one' => subject.instance_variable_get('@replacement'), + 'that_one' => subject.instance_variable_get('@replacement'), + 'two' => 'two', + 'three' => 'three', + 'four' => subject.instance_variable_get('@replacement'), + "\xff" => 'invalid utf8', + }) end it 'deeply filters out sensitive parameters' do expect(subject.parameters(mock_request_with_deep_nesting, nil)).to eq(params: { - 'this_one' => subject.instance_variable_get('@replacement'), - 'that_one' => subject.instance_variable_get('@replacement'), - 'two' => 'two', - 'three' => 'three', - 'four' => subject.instance_variable_get('@replacement'), - "\xff" => 'invalid utf8', - 'five' => { - 'this_one' => subject.instance_variable_get('@replacement'), - 'that_one' => subject.instance_variable_get('@replacement'), - 'two' => 'two', - 'three' => 'three', - 'four' => subject.instance_variable_get('@replacement'), - "\xff" => 'invalid utf8', - 'six' => { - 'seven' => 'seven', - 'eight' => 'eight', - 'one' => subject.instance_variable_get('@replacement'), - }, - }, - }) + 'this_one' => subject.instance_variable_get('@replacement'), + 'that_one' => subject.instance_variable_get('@replacement'), + 'two' => 'two', + 'three' => 'three', + 'four' => subject.instance_variable_get('@replacement'), + "\xff" => 'invalid utf8', + 'five' => { + 'this_one' => subject.instance_variable_get('@replacement'), + 'that_one' => subject.instance_variable_get('@replacement'), + 'two' => 'two', + 'three' => 'three', + 'four' => subject.instance_variable_get('@replacement'), + "\xff" => 'invalid utf8', + 'six' => { + 'seven' => 'seven', + 'eight' => 'eight', + 'one' => subject.instance_variable_get('@replacement'), + }, + }, + }) end end diff --git a/spec/lib/grape_logging/loggers/request_headers_spec.rb b/spec/lib/grape_logging/loggers/request_headers_spec.rb index 03dd5ca..1ddf480 100644 --- a/spec/lib/grape_logging/loggers/request_headers_spec.rb +++ b/spec/lib/grape_logging/loggers/request_headers_spec.rb @@ -8,33 +8,33 @@ let(:mock_request_with_unhandled_headers) do OpenStruct.new(env: { - HTTP_REFERER: 'http://example.com', + HTTP_REFERER: 'http://example.com', "PATH_INFO"=>"/api/v1/users" - }) + }) end let(:mock_request_with_long_headers) do OpenStruct.new(env: { - HTTP_REFERER: 'http://example.com', + HTTP_REFERER: 'http://example.com', HTTP_USER_AGENT: "Mozilla/5.0" - }) + }) end it 'strips HTTP_ from the parameter' do expect(subject.parameters(mock_request, nil)).to eq({ - headers: {'Referer' => 'http://example.com', 'Accept' => 'text/plain'} - }) + headers: {'Referer' => 'http://example.com', 'Accept' => 'text/plain'} + }) end it 'only handle things which start with HTTP_' do expect(subject.parameters(mock_request_with_unhandled_headers, nil)).to eq({ - headers: {'Referer' => 'http://example.com' } - }) + headers: {'Referer' => 'http://example.com' } + }) end it 'substitutes _ with -' do expect(subject.parameters(mock_request_with_long_headers, nil)).to eq({ - headers: {'Referer' => 'http://example.com', 'User-Agent' => 'Mozilla/5.0' } - }) + headers: {'Referer' => 'http://example.com', 'User-Agent' => 'Mozilla/5.0' } + }) end end diff --git a/spec/lib/grape_logging/loggers/response_spec.rb b/spec/lib/grape_logging/loggers/response_spec.rb index a8ff473..ce2e7b5 100644 --- a/spec/lib/grape_logging/loggers/response_spec.rb +++ b/spec/lib/grape_logging/loggers/response_spec.rb @@ -9,8 +9,8 @@ it 'returns an array of parsed JSON objects' do expect(subject.parameters(nil, response)).to eq({ - response: [response.body.first], - }) + response: [response.body.first], + }) end end @@ -21,8 +21,8 @@ it 'just returns the body' do expect(subject.parameters(nil, response)).to eq({ - response: response.body, - }) + response: response.body, + }) end end end From ea6126dab17c783a88fa4f3f4110c2f141bd626f Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 12:34:54 +0100 Subject: [PATCH 14/46] AutoFix RuboCop Layout/HashAlignment --- .rubocop_todo.yml | 10 ---------- spec/lib/grape_logging/loggers/request_headers_spec.rb | 4 ++-- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 50ce2da..23ca9d2 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,16 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle. -# SupportedHashRocketStyles: key, separator, table -# SupportedColonStyles: key, separator, table -# SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit -Layout/HashAlignment: - Exclude: - - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' - # Offense count: 4 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: Width, AllowedPatterns. diff --git a/spec/lib/grape_logging/loggers/request_headers_spec.rb b/spec/lib/grape_logging/loggers/request_headers_spec.rb index 1ddf480..6a33f4c 100644 --- a/spec/lib/grape_logging/loggers/request_headers_spec.rb +++ b/spec/lib/grape_logging/loggers/request_headers_spec.rb @@ -9,14 +9,14 @@ let(:mock_request_with_unhandled_headers) do OpenStruct.new(env: { HTTP_REFERER: 'http://example.com', - "PATH_INFO"=>"/api/v1/users" + "PATH_INFO" => "/api/v1/users" }) end let(:mock_request_with_long_headers) do OpenStruct.new(env: { HTTP_REFERER: 'http://example.com', - HTTP_USER_AGENT: "Mozilla/5.0" + HTTP_USER_AGENT: "Mozilla/5.0" }) end From fc7ae9023a6f21303443f1905e6cd93deaa62b4f Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 12:35:23 +0100 Subject: [PATCH 15/46] AutoFix RuboCop Layout/IndentationWidth --- .rubocop_todo.yml | 8 -------- lib/grape_logging/middleware/request_logger.rb | 4 ++-- spec/lib/grape_logging/formatters/rails_spec.rb | 4 ++-- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 23ca9d2..f84d58e 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,14 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 4 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: Width, AllowedPatterns. -Layout/IndentationWidth: - Exclude: - - 'lib/grape_logging/middleware/request_logger.rb' - - 'spec/lib/grape_logging/formatters/rails_spec.rb' - # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator, EnforcedStyleForRationalLiterals. diff --git a/lib/grape_logging/middleware/request_logger.rb b/lib/grape_logging/middleware/request_logger.rb index 59595f7..b6e112f 100644 --- a/lib/grape_logging/middleware/request_logger.rb +++ b/lib/grape_logging/middleware/request_logger.rb @@ -17,9 +17,9 @@ def initialize(app, options = {}) @included_loggers = @options[:include] || [] @reporter = if options[:instrumentation_key] - Reporters::ActiveSupportReporter.new(@options[:instrumentation_key]) + Reporters::ActiveSupportReporter.new(@options[:instrumentation_key]) else - Reporters::LoggerReporter.new(@options[:logger], @options[:formatter], @options[:log_level]) + Reporters::LoggerReporter.new(@options[:logger], @options[:formatter], @options[:log_level]) end end diff --git a/spec/lib/grape_logging/formatters/rails_spec.rb b/spec/lib/grape_logging/formatters/rails_spec.rb index 55399f2..3607502 100644 --- a/spec/lib/grape_logging/formatters/rails_spec.rb +++ b/spec/lib/grape_logging/formatters/rails_spec.rb @@ -63,9 +63,9 @@ lines = message.split("\n") expected_output = if RUBY_VERSION >= '3.4' - ' Parameters: {"some_param" => {value_1: "123", value_2: "456"}}' + ' Parameters: {"some_param" => {value_1: "123", value_2: "456"}}' else - ' Parameters: {"some_param"=>{:value_1=>"123", :value_2=>"456"}}' + ' Parameters: {"some_param"=>{:value_1=>"123", :value_2=>"456"}}' end expect(lines.first).to eq expected_output expect(lines.last).to eq "Completed 200 OK in 272.4ms (Views: 231.77ms | DB: 40.63ms)" From 1b9aedf01e0e30c3ef8a90dfe3c87ce59f422539 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 12:36:40 +0100 Subject: [PATCH 16/46] Regenerate todo --- .rubocop_todo.yml | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index f84d58e..aaec291 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2025-06-30 09:46:22 UTC using RuboCop version 1.77.0. +# on 2025-06-30 11:36:15 UTC using RuboCop version 1.77.0. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -29,15 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator, EnforcedStyleForRationalLiterals. -# SupportedStylesForExponentOperator: space, no_space -# SupportedStylesForRationalLiterals: space, no_space -Layout/SpaceAroundOperators: - Exclude: - - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' - # Offense count: 6 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. @@ -253,15 +244,6 @@ Style/MutableConstant: Exclude: - 'lib/grape_logging/version.rb' -# Offense count: 1 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns. -# SupportedStyles: predicate, comparison -Style/NumericPredicate: - Exclude: - - 'spec/**/*' - - 'lib/grape_logging/formatters/rails.rb' - # Offense count: 10 Style/OpenStructUse: Exclude: @@ -384,8 +366,7 @@ Style/TrailingCommaInHashLiteral: - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' - 'spec/lib/grape_logging/loggers/response_spec.rb' - -# Offense count: 3 +# Offense count: 10 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings. # URISchemes: http, https From f5a1cdb6f92cc0e62b3f59f988798509723dc8a7 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 12:37:45 +0100 Subject: [PATCH 17/46] AutoFix RuboCop Layout/SpaceBeforeBlockBraces --- .rubocop_todo.yml | 12 ------------ lib/grape_logging/formatters/rails.rb | 2 +- lib/grape_logging/loggers/filter_parameters.rb | 4 ++-- lib/grape_logging/loggers/response.rb | 2 +- .../grape_logging/middleware/request_logger_spec.rb | 4 ++-- 5 files changed, 6 insertions(+), 18 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index aaec291..ee8b360 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,18 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 6 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. -# SupportedStyles: space, no_space -# SupportedStylesForEmptyBraces: space, no_space -Layout/SpaceBeforeBlockBraces: - Exclude: - - 'lib/grape_logging/formatters/rails.rb' - - 'lib/grape_logging/loggers/filter_parameters.rb' - - 'lib/grape_logging/loggers/response.rb' - - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' - # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). Layout/SpaceBeforeComma: diff --git a/lib/grape_logging/formatters/rails.rb b/lib/grape_logging/formatters/rails.rb index fd21564..501eebd 100644 --- a/lib/grape_logging/formatters/rails.rb +++ b/lib/grape_logging/formatters/rails.rb @@ -23,7 +23,7 @@ def format_exception(exception) [ "#{exception.message} (#{exception.class})", backtrace_array.join("\n") - ].reject{|line| line == ""}.join("\n") + ].reject {|line| line == ""}.join("\n") end def format_hash(hash) diff --git a/lib/grape_logging/loggers/filter_parameters.rb b/lib/grape_logging/loggers/filter_parameters.rb index e3f0dd9..64dbe7e 100644 --- a/lib/grape_logging/loggers/filter_parameters.rb +++ b/lib/grape_logging/loggers/filter_parameters.rb @@ -30,8 +30,8 @@ def safe_parameters(request) def clean_parameters(parameters) original_encoding_map = build_encoding_map(parameters) - params = transform_key_encoding(parameters, Hash.new{ |h, _| [Encoding::ASCII_8BIT, h] }) - cleaned_params = parameter_filter.filter(params).reject{ |key, _value| @exceptions.include?(key) } + params = transform_key_encoding(parameters, Hash.new { |h, _| [Encoding::ASCII_8BIT, h] }) + cleaned_params = parameter_filter.filter(params).reject { |key, _value| @exceptions.include?(key) } transform_key_encoding(cleaned_params, original_encoding_map) end diff --git a/lib/grape_logging/loggers/response.rb b/lib/grape_logging/loggers/response.rb index 81c45c6..307d721 100644 --- a/lib/grape_logging/loggers/response.rb +++ b/lib/grape_logging/loggers/response.rb @@ -14,7 +14,7 @@ def serialized_response_body(response) if response.respond_to?(:body) # Rack responses begin - response.body.map{ |body| JSON.parse(body.to_s) } + response.body.map { |body| JSON.parse(body.to_s) } rescue # No reason to have "=> e" here when we don't use it.. response.body end diff --git a/spec/lib/grape_logging/middleware/request_logger_spec.rb b/spec/lib/grape_logging/middleware/request_logger_spec.rb index d2b78b6..c1edbd3 100644 --- a/spec/lib/grape_logging/middleware/request_logger_spec.rb +++ b/spec/lib/grape_logging/middleware/request_logger_spec.rb @@ -3,7 +3,7 @@ describe GrapeLogging::Middleware::RequestLogger do let(:subject) { request.send(request_method, path) } - let(:app) { proc{ [status, {} , ['response body']] } } + let(:app) { proc { [status, {} , ['response body']] } } let(:stack) { described_class.new app, options } let(:request) { Rack::MockRequest.new(stack) } let(:options) { {include: [], logger: logger} } @@ -49,7 +49,7 @@ end context 'with a nil response' do - let(:app) { proc{ [500, {} , nil] } } + let(:app) { proc { [500, {} , nil] } } it 'should log "fail" instead of a status' do expect(Rack::MockResponse).to receive(:new) { nil } expect(logger).to receive('info') do |arguments| From 0ac850435e0a5c006288382e4b48089986647876 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 12:38:14 +0100 Subject: [PATCH 18/46] AutoFix RuboCop Layout/SpaceBeforeComma --- .rubocop_todo.yml | 6 ------ spec/lib/grape_logging/middleware/request_logger_spec.rb | 4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index ee8b360..a9a6c1b 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,12 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -Layout/SpaceBeforeComma: - Exclude: - - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' - # Offense count: 4 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. diff --git a/spec/lib/grape_logging/middleware/request_logger_spec.rb b/spec/lib/grape_logging/middleware/request_logger_spec.rb index c1edbd3..652a63f 100644 --- a/spec/lib/grape_logging/middleware/request_logger_spec.rb +++ b/spec/lib/grape_logging/middleware/request_logger_spec.rb @@ -3,7 +3,7 @@ describe GrapeLogging::Middleware::RequestLogger do let(:subject) { request.send(request_method, path) } - let(:app) { proc { [status, {} , ['response body']] } } + let(:app) { proc { [status, {}, ['response body']] } } let(:stack) { described_class.new app, options } let(:request) { Rack::MockRequest.new(stack) } let(:options) { {include: [], logger: logger} } @@ -49,7 +49,7 @@ end context 'with a nil response' do - let(:app) { proc { [500, {} , nil] } } + let(:app) { proc { [500, {}, nil] } } it 'should log "fail" instead of a status' do expect(Rack::MockResponse).to receive(:new) { nil } expect(logger).to receive('info') do |arguments| From 8b1f794e78deb1879f3e21d3f8ecbd6923b6929c Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 12:38:49 +0100 Subject: [PATCH 19/46] AutoFix RuboCop Layout/SpaceInsideBlockBraces --- .rubocop_todo.yml | 10 ---------- lib/grape_logging/formatters/rails.rb | 2 +- lib/grape_logging/multi_io.rb | 2 +- 3 files changed, 2 insertions(+), 12 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index a9a6c1b..b00d8c6 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,16 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 4 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. -# SupportedStyles: space, no_space -# SupportedStylesForEmptyBraces: space, no_space -Layout/SpaceInsideBlockBraces: - Exclude: - - 'lib/grape_logging/formatters/rails.rb' - - 'lib/grape_logging/multi_io.rb' - # Offense count: 16 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. diff --git a/lib/grape_logging/formatters/rails.rb b/lib/grape_logging/formatters/rails.rb index 501eebd..4d43548 100644 --- a/lib/grape_logging/formatters/rails.rb +++ b/lib/grape_logging/formatters/rails.rb @@ -23,7 +23,7 @@ def format_exception(exception) [ "#{exception.message} (#{exception.class})", backtrace_array.join("\n") - ].reject {|line| line == ""}.join("\n") + ].reject { |line| line == "" }.join("\n") end def format_hash(hash) diff --git a/lib/grape_logging/multi_io.rb b/lib/grape_logging/multi_io.rb index 5c70c48..2888ce3 100644 --- a/lib/grape_logging/multi_io.rb +++ b/lib/grape_logging/multi_io.rb @@ -5,7 +5,7 @@ def initialize(*targets) end def write(*args) - @targets.each {|t| t.write(*args)} + @targets.each { |t| t.write(*args) } end def close From 433ace31017f4f8699b56a2c6a7aed293f1776b7 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 12:40:56 +0100 Subject: [PATCH 20/46] AutoFix RuboCop Layout/SpaceInsideHashLiteralBraces --- .rubocop_todo.yml | 12 ------------ .../grape_logging/loggers/filter_parameters_spec.rb | 2 +- .../grape_logging/loggers/request_headers_spec.rb | 8 ++++---- spec/lib/grape_logging/loggers/response_spec.rb | 2 +- .../grape_logging/middleware/request_logger_spec.rb | 2 +- 5 files changed, 7 insertions(+), 19 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index b00d8c6..6f6f8d2 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,18 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 16 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. -# SupportedStyles: space, no_space, compact -# SupportedStylesForEmptyBraces: space, no_space -Layout/SpaceInsideHashLiteralBraces: - Exclude: - - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' - - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' - - 'spec/lib/grape_logging/loggers/response_spec.rb' - - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' - # Offense count: 3 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. diff --git a/spec/lib/grape_logging/loggers/filter_parameters_spec.rb b/spec/lib/grape_logging/loggers/filter_parameters_spec.rb index 67b7705..3c2475d 100644 --- a/spec/lib/grape_logging/loggers/filter_parameters_spec.rb +++ b/spec/lib/grape_logging/loggers/filter_parameters_spec.rb @@ -20,7 +20,7 @@ OpenStruct.new( params: deep_clone.call.merge( 'five' => deep_clone.call.merge( - deep_clone.call.merge({'six' => {'seven' => 'seven', 'eight' => 'eight', 'one' => 'another one'}}) + deep_clone.call.merge({ 'six' => { 'seven' => 'seven', 'eight' => 'eight', 'one' => 'another one' } }) ) ) ) diff --git a/spec/lib/grape_logging/loggers/request_headers_spec.rb b/spec/lib/grape_logging/loggers/request_headers_spec.rb index 6a33f4c..2d00843 100644 --- a/spec/lib/grape_logging/loggers/request_headers_spec.rb +++ b/spec/lib/grape_logging/loggers/request_headers_spec.rb @@ -3,7 +3,7 @@ describe GrapeLogging::Loggers::RequestHeaders do let(:mock_request) do - OpenStruct.new(env: {HTTP_REFERER: 'http://example.com', HTTP_ACCEPT: 'text/plain'}) + OpenStruct.new(env: { HTTP_REFERER: 'http://example.com', HTTP_ACCEPT: 'text/plain' }) end let(:mock_request_with_unhandled_headers) do @@ -22,19 +22,19 @@ it 'strips HTTP_ from the parameter' do expect(subject.parameters(mock_request, nil)).to eq({ - headers: {'Referer' => 'http://example.com', 'Accept' => 'text/plain'} + headers: { 'Referer' => 'http://example.com', 'Accept' => 'text/plain' } }) end it 'only handle things which start with HTTP_' do expect(subject.parameters(mock_request_with_unhandled_headers, nil)).to eq({ - headers: {'Referer' => 'http://example.com' } + headers: { 'Referer' => 'http://example.com' } }) end it 'substitutes _ with -' do expect(subject.parameters(mock_request_with_long_headers, nil)).to eq({ - headers: {'Referer' => 'http://example.com', 'User-Agent' => 'Mozilla/5.0' } + headers: { 'Referer' => 'http://example.com', 'User-Agent' => 'Mozilla/5.0' } }) end end diff --git a/spec/lib/grape_logging/loggers/response_spec.rb b/spec/lib/grape_logging/loggers/response_spec.rb index ce2e7b5..64b229d 100644 --- a/spec/lib/grape_logging/loggers/response_spec.rb +++ b/spec/lib/grape_logging/loggers/response_spec.rb @@ -4,7 +4,7 @@ describe GrapeLogging::Loggers::Response do context 'with a parseable JSON body' do let(:response) do - OpenStruct.new(body: [{"one": "two", "three": {"four": 5}}]) + OpenStruct.new(body: [{ "one": "two", "three": { "four": 5 } }]) end it 'returns an array of parsed JSON objects' do diff --git a/spec/lib/grape_logging/middleware/request_logger_spec.rb b/spec/lib/grape_logging/middleware/request_logger_spec.rb index 652a63f..b3876fc 100644 --- a/spec/lib/grape_logging/middleware/request_logger_spec.rb +++ b/spec/lib/grape_logging/middleware/request_logger_spec.rb @@ -6,7 +6,7 @@ let(:app) { proc { [status, {}, ['response body']] } } let(:stack) { described_class.new app, options } let(:request) { Rack::MockRequest.new(stack) } - let(:options) { {include: [], logger: logger} } + let(:options) { { include: [], logger: logger } } let(:logger) { double('logger') } let(:path) { '/' } let(:request_method) { 'get' } From abcef4750507bf0e54d70fc915bc663a7005ad64 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Mon, 30 Jun 2025 12:41:37 +0100 Subject: [PATCH 21/46] AutoFix RuboCop Layout/TrailingEmptyLines --- .rubocop_todo.yml | 10 ---------- lib/grape_logging/multi_io.rb | 2 +- lib/grape_logging/reporters/active_support_reporter.rb | 2 +- lib/grape_logging/timings.rb | 2 +- 4 files changed, 3 insertions(+), 13 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 6f6f8d2..8ab8d6e 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -29,16 +29,6 @@ Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: final_newline, final_blank_line -Layout/TrailingEmptyLines: - Exclude: - - 'lib/grape_logging/multi_io.rb' - - 'lib/grape_logging/reporters/active_support_reporter.rb' - - 'lib/grape_logging/timings.rb' - # Offense count: 1 # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch. Lint/DuplicateBranch: diff --git a/lib/grape_logging/multi_io.rb b/lib/grape_logging/multi_io.rb index 2888ce3..2ace6c5 100644 --- a/lib/grape_logging/multi_io.rb +++ b/lib/grape_logging/multi_io.rb @@ -12,4 +12,4 @@ def close @targets.each(&:close) end end -end \ No newline at end of file +end diff --git a/lib/grape_logging/reporters/active_support_reporter.rb b/lib/grape_logging/reporters/active_support_reporter.rb index 392f9ae..e48ce3e 100644 --- a/lib/grape_logging/reporters/active_support_reporter.rb +++ b/lib/grape_logging/reporters/active_support_reporter.rb @@ -8,4 +8,4 @@ def perform(params) ActiveSupport::Notifications.instrument @instrumentation_key, params end end -end \ No newline at end of file +end diff --git a/lib/grape_logging/timings.rb b/lib/grape_logging/timings.rb index 9c1e417..b9e1c87 100644 --- a/lib/grape_logging/timings.rb +++ b/lib/grape_logging/timings.rb @@ -18,4 +18,4 @@ def append_db_runtime(event) self.db_runtime += event.duration end end -end \ No newline at end of file +end From d4bce13269031decde4e752cf8b894a441e3cdac Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Mon, 30 Jun 2025 11:14:46 -0400 Subject: [PATCH 22/46] Update ci.yml Co-authored-by: Pieter Oliver <68863060+pieterocp@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index df04c74..0c5fe4c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,5 +32,5 @@ jobs: bundler-cache: true - name: Install dependencies run: bundle install - - name: Run tests + - name: Run RuboCop run: bundle exec rake rubocop From df63cfe0ce34295af2f07e1c53af50b44e6aa6c5 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Mon, 30 Jun 2025 09:33:48 -0700 Subject: [PATCH 23/46] WIP: Remove claude-scratchpad cruft from rubocop todo --- .rubocop_todo.yml | 218 ++++++++++++++++++---------------------------- 1 file changed, 86 insertions(+), 132 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 8aa26da..4f886bc 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -12,7 +12,7 @@ # Include: **/*.gemspec, **/Gemfile, **/gems.rb Gemspec/DevelopmentDependencies: Exclude: - - 'grape_logging.gemspec' + - "grape_logging.gemspec" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). @@ -20,36 +20,27 @@ Gemspec/DevelopmentDependencies: # Include: **/*.gemspec Gemspec/RequireMFA: Exclude: - - 'grape_logging.gemspec' + - "grape_logging.gemspec" # Offense count: 1 # Configuration parameters: Severity, Include. # Include: **/*.gemspec Gemspec/RequiredRubyVersion: Exclude: - - 'grape_logging.gemspec' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, IndentOneStep, IndentationWidth. -# SupportedStyles: case, end -Layout/CaseIndentation: - Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' + - "grape_logging.gemspec" # Offense count: 4 # This cop supports safe autocorrection (--autocorrect). Layout/ElseAlignment: Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - - 'lib/grape_logging/middleware/request_logger.rb' - - 'spec/lib/grape_logging/formatters/rails_spec.rb' + - "lib/grape_logging/middleware/request_logger.rb" + - "spec/lib/grape_logging/formatters/rails_spec.rb" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). Layout/EmptyLines: Exclude: - - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' + - "spec/lib/grape_logging/loggers/filter_parameters_spec.rb" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). @@ -57,7 +48,7 @@ Layout/EmptyLines: # SupportedStyles: around, only_before Layout/EmptyLinesAroundAccessModifier: Exclude: - - 'lib/grape_logging/formatters/default.rb' + - "lib/grape_logging/formatters/default.rb" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). @@ -65,7 +56,7 @@ Layout/EmptyLinesAroundAccessModifier: # SupportedStyles: empty_lines, no_empty_lines Layout/EmptyLinesAroundBlockBody: Exclude: - - 'spec/lib/grape_logging/formatters/rails_spec.rb' + - "spec/lib/grape_logging/formatters/rails_spec.rb" # Offense count: 5 # This cop supports safe autocorrection (--autocorrect). @@ -73,15 +64,15 @@ Layout/EmptyLinesAroundBlockBody: # SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only Layout/EmptyLinesAroundClassBody: Exclude: - - 'lib/grape_logging/formatters/rails.rb' - - 'lib/grape_logging/loggers/request_headers.rb' - - 'lib/grape_logging/middleware/request_logger.rb' + - "lib/grape_logging/formatters/rails.rb" + - "lib/grape_logging/loggers/request_headers.rb" + - "lib/grape_logging/middleware/request_logger.rb" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). Layout/EmptyLinesAroundMethodBody: Exclude: - - 'lib/grape_logging/loggers/response.rb' + - "lib/grape_logging/loggers/response.rb" # Offense count: 7 # This cop supports safe autocorrection (--autocorrect). @@ -89,16 +80,15 @@ Layout/EmptyLinesAroundMethodBody: # SupportedStylesAlignWith: keyword, variable, start_of_line Layout/EndAlignment: Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - - 'lib/grape_logging/middleware/request_logger.rb' - - 'spec/lib/grape_logging/formatters/rails_spec.rb' + - "lib/grape_logging/middleware/request_logger.rb" + - "spec/lib/grape_logging/formatters/rails_spec.rb" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment. Layout/ExtraSpacing: Exclude: - - 'lib/grape_logging/util/parameter_filter.rb' + - "lib/grape_logging/util/parameter_filter.rb" # Offense count: 26 # This cop supports safe autocorrection (--autocorrect). @@ -115,16 +105,15 @@ Layout/FirstHashElementIndentation: # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit Layout/HashAlignment: Exclude: - - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' + - "spec/lib/grape_logging/loggers/request_headers_spec.rb" # Offense count: 5 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: Width, AllowedPatterns. Layout/IndentationWidth: Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - - 'lib/grape_logging/middleware/request_logger.rb' - - 'spec/lib/grape_logging/formatters/rails_spec.rb' + - "lib/grape_logging/middleware/request_logger.rb" + - "spec/lib/grape_logging/formatters/rails_spec.rb" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). @@ -133,7 +122,7 @@ Layout/IndentationWidth: # SupportedStylesForRationalLiterals: space, no_space Layout/SpaceAroundOperators: Exclude: - - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' + - "spec/lib/grape_logging/loggers/request_headers_spec.rb" # Offense count: 6 # This cop supports safe autocorrection (--autocorrect). @@ -142,16 +131,16 @@ Layout/SpaceAroundOperators: # SupportedStylesForEmptyBraces: space, no_space Layout/SpaceBeforeBlockBraces: Exclude: - - 'lib/grape_logging/formatters/rails.rb' - - 'lib/grape_logging/loggers/filter_parameters.rb' - - 'lib/grape_logging/loggers/response.rb' - - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' + - "lib/grape_logging/formatters/rails.rb" + - "lib/grape_logging/loggers/filter_parameters.rb" + - "lib/grape_logging/loggers/response.rb" + - "spec/lib/grape_logging/middleware/request_logger_spec.rb" # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). Layout/SpaceBeforeComma: Exclude: - - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' + - "spec/lib/grape_logging/middleware/request_logger_spec.rb" # Offense count: 4 # This cop supports safe autocorrection (--autocorrect). @@ -160,8 +149,8 @@ Layout/SpaceBeforeComma: # SupportedStylesForEmptyBraces: space, no_space Layout/SpaceInsideBlockBraces: Exclude: - - 'lib/grape_logging/formatters/rails.rb' - - 'lib/grape_logging/multi_io.rb' + - "lib/grape_logging/formatters/rails.rb" + - "lib/grape_logging/multi_io.rb" # Offense count: 16 # This cop supports safe autocorrection (--autocorrect). @@ -170,10 +159,10 @@ Layout/SpaceInsideBlockBraces: # SupportedStylesForEmptyBraces: space, no_space Layout/SpaceInsideHashLiteralBraces: Exclude: - - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' - - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' - - 'spec/lib/grape_logging/loggers/response_spec.rb' - - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' + - "spec/lib/grape_logging/loggers/filter_parameters_spec.rb" + - "spec/lib/grape_logging/loggers/request_headers_spec.rb" + - "spec/lib/grape_logging/loggers/response_spec.rb" + - "spec/lib/grape_logging/middleware/request_logger_spec.rb" # Offense count: 4 # This cop supports safe autocorrection (--autocorrect). @@ -181,34 +170,21 @@ Layout/SpaceInsideHashLiteralBraces: # SupportedStyles: final_newline, final_blank_line Layout/TrailingEmptyLines: Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - - 'lib/grape_logging/multi_io.rb' - - 'lib/grape_logging/reporters/active_support_reporter.rb' - - 'lib/grape_logging/timings.rb' - -# Offense count: 11 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowInHeredoc. -Layout/TrailingWhitespace: - Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' + - "lib/grape_logging/multi_io.rb" + - "lib/grape_logging/reporters/active_support_reporter.rb" + - "lib/grape_logging/timings.rb" # Offense count: 1 # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch. Lint/DuplicateBranch: Exclude: - - 'lib/grape_logging/util/parameter_filter.rb' - -# Offense count: 6 -Lint/HashCompareByIdentity: - Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' + - "lib/grape_logging/util/parameter_filter.rb" # Offense count: 1 # Configuration parameters: AllowedParentClasses. Lint/MissingSuper: Exclude: - - 'lib/grape_logging/loggers/filter_parameters.rb' + - "lib/grape_logging/loggers/filter_parameters.rb" # Offense count: 3 # This cop supports safe autocorrection (--autocorrect). @@ -216,7 +192,7 @@ Lint/MissingSuper: # SupportedStyles: strict, consistent Lint/SymbolConversion: Exclude: - - 'spec/lib/grape_logging/loggers/response_spec.rb' + - "spec/lib/grape_logging/loggers/response_spec.rb" # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). @@ -224,19 +200,7 @@ Lint/SymbolConversion: # NotImplementedExceptions: NotImplementedError Lint/UnusedMethodArgument: Exclude: - - 'lib/grape_logging/loggers/base.rb' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AutoCorrect. -Lint/UselessAssignment: - Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - -# Offense count: 1 -Lint/UselessConstantScoping: - Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' + - "lib/grape_logging/loggers/base.rb" # Offense count: 4 # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. @@ -270,13 +234,13 @@ Metrics/PerceivedComplexity: # AllowedIdentifiers: TLS1_1, TLS1_2, capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64 Naming/VariableNumber: Exclude: - - 'spec/lib/grape_logging/formatters/rails_spec.rb' + - "spec/lib/grape_logging/formatters/rails_spec.rb" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). Style/BlockComments: Exclude: - - 'spec/spec_helper.rb' + - "spec/spec_helper.rb" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). @@ -287,16 +251,16 @@ Style/BlockComments: # AllowedMethods: lambda, proc, it Style/BlockDelimiters: Exclude: - - 'spec/lib/grape_logging/formatters/rails_spec.rb' + - "spec/lib/grape_logging/formatters/rails_spec.rb" # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: MinBranchesCount. Style/CaseLikeIf: Exclude: - - 'lib/grape_logging/formatters/default.rb' - - 'lib/grape_logging/formatters/logstash.rb' - - 'lib/grape_logging/formatters/rails.rb' + - "lib/grape_logging/formatters/default.rb" + - "lib/grape_logging/formatters/logstash.rb" + - "lib/grape_logging/formatters/rails.rb" # Offense count: 18 # Configuration parameters: AllowedConstants. @@ -307,7 +271,7 @@ Style/Documentation: # This cop supports safe autocorrection (--autocorrect). Style/ExpandPathArguments: Exclude: - - 'grape_logging.gemspec' + - "grape_logging.gemspec" # Offense count: 30 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -320,14 +284,14 @@ Style/FrozenStringLiteralComment: # This cop supports unsafe autocorrection (--autocorrect-all). Style/GlobalStdStream: Exclude: - - 'lib/grape_logging/reporters/logger_reporter.rb' + - "lib/grape_logging/reporters/logger_reporter.rb" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. Style/GuardClause: Exclude: - - 'lib/grape_logging/reporters/logger_reporter.rb' + - "lib/grape_logging/reporters/logger_reporter.rb" # Offense count: 3 # This cop supports safe autocorrection (--autocorrect). @@ -336,14 +300,13 @@ Style/GuardClause: # SupportedShorthandSyntax: always, never, either, consistent, either_consistent Style/HashSyntax: Exclude: - - 'lib/grape_logging/formatters/logstash.rb' + - "lib/grape_logging/formatters/logstash.rb" # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). Style/IfUnlessModifier: Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - - 'lib/grape_logging/reporters/logger_reporter.rb' + - "lib/grape_logging/reporters/logger_reporter.rb" # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). @@ -351,8 +314,8 @@ Style/IfUnlessModifier: # SupportedStyles: line_count_dependent, lambda, literal Style/Lambda: Exclude: - - 'lib/grape_logging/util/parameter_filter.rb' - - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' + - "lib/grape_logging/util/parameter_filter.rb" + - "spec/lib/grape_logging/loggers/filter_parameters_spec.rb" # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -360,13 +323,13 @@ Style/Lambda: # SupportedStyles: module_function, extend_self, forbidden Style/ModuleFunction: Exclude: - - 'lib/grape_logging/timings.rb' + - "lib/grape_logging/timings.rb" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). Style/MultilineIfModifier: Exclude: - - 'lib/grape_logging/middleware/request_logger.rb' + - "lib/grape_logging/middleware/request_logger.rb" # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -374,15 +337,7 @@ Style/MultilineIfModifier: # SupportedStyles: literals, strict Style/MutableConstant: Exclude: - - 'lib/grape_logging/version.rb' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, MinBodyLength, AllowConsecutiveConditionals. -# SupportedStyles: skip_modifier_ifs, always -Style/Next: - Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' + - "lib/grape_logging/version.rb" # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -390,30 +345,30 @@ Style/Next: # SupportedStyles: predicate, comparison Style/NumericPredicate: Exclude: - - 'spec/**/*' - - 'lib/grape_logging/formatters/rails.rb' + - "spec/**/*" + - "lib/grape_logging/formatters/rails.rb" # Offense count: 10 Style/OpenStructUse: Exclude: - - 'spec/lib/grape_logging/loggers/client_env_spec.rb' - - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' - - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' - - 'spec/lib/grape_logging/loggers/response_spec.rb' + - "spec/lib/grape_logging/loggers/client_env_spec.rb" + - "spec/lib/grape_logging/loggers/filter_parameters_spec.rb" + - "spec/lib/grape_logging/loggers/request_headers_spec.rb" + - "spec/lib/grape_logging/loggers/response_spec.rb" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). Style/ParallelAssignment: Exclude: - - 'lib/grape_logging/util/parameter_filter.rb' + - "lib/grape_logging/util/parameter_filter.rb" # Offense count: 3 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: PreferredDelimiters. Style/PercentLiteralDelimiters: Exclude: - - 'grape_logging.gemspec' - - 'lib/grape_logging/loggers/filter_parameters.rb' + - "grape_logging.gemspec" + - "lib/grape_logging/loggers/filter_parameters.rb" # Offense count: 3 # This cop supports safe autocorrection (--autocorrect). @@ -421,19 +376,19 @@ Style/PercentLiteralDelimiters: # SupportedStyles: same_as_string_literals, single_quotes, double_quotes Style/QuotedSymbols: Exclude: - - 'spec/lib/grape_logging/loggers/response_spec.rb' + - "spec/lib/grape_logging/loggers/response_spec.rb" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). Style/RedundantConstantBase: Exclude: - - 'lib/grape_logging/util/parameter_filter.rb' + - "lib/grape_logging/util/parameter_filter.rb" # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). Style/RedundantPercentQ: Exclude: - - 'grape_logging.gemspec' + - "grape_logging.gemspec" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). @@ -441,7 +396,7 @@ Style/RedundantPercentQ: # SupportedStyles: implicit, explicit Style/RescueStandardError: Exclude: - - 'lib/grape_logging/loggers/response.rb' + - "lib/grape_logging/loggers/response.rb" # Offense count: 4 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -449,14 +404,13 @@ Style/RescueStandardError: # AllowedMethods: present?, blank?, presence, try, try! Style/SafeNavigation: Exclude: - - 'claude-scratchpad/cleaner_parameter_filter.rb' - - 'lib/grape_logging/formatters/rails.rb' + - "lib/grape_logging/formatters/rails.rb" # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). Style/SlicingWithRange: Exclude: - - 'lib/grape_logging/loggers/request_headers.rb' + - "lib/grape_logging/loggers/request_headers.rb" # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -464,16 +418,16 @@ Style/SlicingWithRange: # SupportedStyles: use_perl_names, use_english_names, use_builtin_english_names Style/SpecialGlobalVars: Exclude: - - 'spec/spec_helper.rb' + - "spec/spec_helper.rb" # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: Mode. Style/StringConcatenation: Exclude: - - 'lib/grape_logging/formatters/json.rb' - - 'lib/grape_logging/formatters/lograge.rb' - - 'lib/grape_logging/formatters/logstash.rb' + - "lib/grape_logging/formatters/json.rb" + - "lib/grape_logging/formatters/lograge.rb" + - "lib/grape_logging/formatters/logstash.rb" # Offense count: 33 # This cop supports safe autocorrection (--autocorrect). @@ -481,15 +435,15 @@ Style/StringConcatenation: # SupportedStyles: single_quotes, double_quotes Style/StringLiterals: Exclude: - - 'grape_logging.gemspec' - - 'lib/grape_logging/formatters/rails.rb' - - 'lib/grape_logging/loggers/client_env.rb' - - 'lib/grape_logging/util/parameter_filter.rb' - - 'spec/lib/grape_logging/formatters/rails_spec.rb' - - 'spec/lib/grape_logging/loggers/client_env_spec.rb' - - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' - - 'spec/lib/grape_logging/loggers/response_spec.rb' - - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' + - "grape_logging.gemspec" + - "lib/grape_logging/formatters/rails.rb" + - "lib/grape_logging/loggers/client_env.rb" + - "lib/grape_logging/util/parameter_filter.rb" + - "spec/lib/grape_logging/formatters/rails_spec.rb" + - "spec/lib/grape_logging/loggers/client_env_spec.rb" + - "spec/lib/grape_logging/loggers/request_headers_spec.rb" + - "spec/lib/grape_logging/loggers/response_spec.rb" + - "spec/lib/grape_logging/middleware/request_logger_spec.rb" # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). @@ -497,7 +451,7 @@ Style/StringLiterals: # SupportedStyles: single_quotes, double_quotes Style/StringLiteralsInInterpolation: Exclude: - - 'lib/grape_logging/formatters/rails.rb' + - "lib/grape_logging/formatters/rails.rb" # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -505,7 +459,7 @@ Style/StringLiteralsInInterpolation: # AllowedMethods: define_method Style/SymbolProc: Exclude: - - 'lib/grape_logging/util/parameter_filter.rb' + - "lib/grape_logging/util/parameter_filter.rb" # Offense count: 7 # This cop supports safe autocorrection (--autocorrect). @@ -513,14 +467,14 @@ Style/SymbolProc: # SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma Style/TrailingCommaInHashLiteral: Exclude: - - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' - - 'spec/lib/grape_logging/loggers/response_spec.rb' + - "spec/lib/grape_logging/loggers/filter_parameters_spec.rb" + - "spec/lib/grape_logging/loggers/response_spec.rb" # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). Style/ZeroLengthPredicate: Exclude: - - 'lib/grape_logging/formatters/rails.rb' + - "lib/grape_logging/formatters/rails.rb" # Offense count: 3 # This cop supports safe autocorrection (--autocorrect). From d51a1db42c293ebd89b08aa54508cd692f1b8c65 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Mon, 30 Jun 2025 09:38:27 -0700 Subject: [PATCH 24/46] Specify files explicity in rubocop rake task --- Rakefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index 7e9ea69..2d83557 100644 --- a/Rakefile +++ b/Rakefile @@ -7,6 +7,8 @@ RSpec::Core::RakeTask.new(:spec) do |spec| spec.pattern = FileList['spec/**/*_spec.rb'] end -RuboCop::RakeTask.new(:rubocop) +RuboCop::RakeTask.new(:rubocop) do |t| + t.patterns = ['lib/**/*.rb', 'spec/**/*.rb', 'Rakefile', 'Gemfile', 'grape_logging.gemspec'] +end task default: %i[spec rubocop] From 8dfd1e833225ecdf2e7fc7e36945a6f7ff11bd77 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Mon, 30 Jun 2025 09:41:12 -0700 Subject: [PATCH 25/46] Pin rubocop version to 1.77.0 --- grape_logging.gemspec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/grape_logging.gemspec b/grape_logging.gemspec index 18b9da0..7831b97 100644 --- a/grape_logging.gemspec +++ b/grape_logging.gemspec @@ -23,5 +23,8 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rspec', '~> 3.5' - spec.add_development_dependency 'rubocop' + + # This is pinned to an exact version otherwise we can't know which rules + # are in play at any given time in different environments. + spec.add_development_dependency 'rubocop', '1.77.0' end From 78f7ba0e64cd360a8e0fa5d0d717ef86e90fef83 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:14:26 +0100 Subject: [PATCH 26/46] AutoFix RuboCop Style/TrailingCommaInHashLiteral --- .rubocop_todo.yml | 9 --------- .../grape_logging/loggers/filter_parameters_spec.rb | 10 +++++----- spec/lib/grape_logging/loggers/response_spec.rb | 4 ++-- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 8ab8d6e..1183460 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -307,15 +307,6 @@ Style/SymbolProc: Exclude: - 'lib/grape_logging/util/parameter_filter.rb' -# Offense count: 7 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyleForMultiline. -# SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma -Style/TrailingCommaInHashLiteral: - Exclude: - - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' - - 'spec/lib/grape_logging/loggers/response_spec.rb' - # Offense count: 10 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings. diff --git a/spec/lib/grape_logging/loggers/filter_parameters_spec.rb b/spec/lib/grape_logging/loggers/filter_parameters_spec.rb index 3c2475d..9aba5ea 100644 --- a/spec/lib/grape_logging/loggers/filter_parameters_spec.rb +++ b/spec/lib/grape_logging/loggers/filter_parameters_spec.rb @@ -11,7 +11,7 @@ 'two' => 'two', 'three' => 'three', 'four' => 'four', - "\xff" => 'invalid utf8', + "\xff" => 'invalid utf8' }) end @@ -40,7 +40,7 @@ 'two' => 'two', 'three' => 'three', 'four' => subject.instance_variable_get('@replacement'), - "\xff" => 'invalid utf8', + "\xff" => 'invalid utf8' }) end @@ -62,9 +62,9 @@ 'six' => { 'seven' => 'seven', 'eight' => 'eight', - 'one' => subject.instance_variable_get('@replacement'), - }, - }, + 'one' => subject.instance_variable_get('@replacement') + } + } }) end end diff --git a/spec/lib/grape_logging/loggers/response_spec.rb b/spec/lib/grape_logging/loggers/response_spec.rb index 64b229d..c610b61 100644 --- a/spec/lib/grape_logging/loggers/response_spec.rb +++ b/spec/lib/grape_logging/loggers/response_spec.rb @@ -9,7 +9,7 @@ it 'returns an array of parsed JSON objects' do expect(subject.parameters(nil, response)).to eq({ - response: [response.body.first], + response: [response.body.first] }) end end @@ -21,7 +21,7 @@ it 'just returns the body' do expect(subject.parameters(nil, response)).to eq({ - response: response.body, + response: response.body }) end end From 9e33e1f76fd16a90fdc91ac782a59cb6275e4513 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:15:37 +0100 Subject: [PATCH 27/46] AutoFix RuboCop Style/StringLiteralsInInterpolation --- .rubocop_todo.yml | 8 -------- lib/grape_logging/formatters/rails.rb | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 1183460..f0c05ae 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -291,14 +291,6 @@ Style/StringLiterals: - 'spec/lib/grape_logging/loggers/response_spec.rb' - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: single_quotes, double_quotes -Style/StringLiteralsInInterpolation: - Exclude: - - 'lib/grape_logging/formatters/rails.rb' - # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments. diff --git a/lib/grape_logging/formatters/rails.rb b/lib/grape_logging/formatters/rails.rb index 4d43548..6d82abc 100644 --- a/lib/grape_logging/formatters/rails.rb +++ b/lib/grape_logging/formatters/rails.rb @@ -46,7 +46,7 @@ def format_hash(hash) message << " Parameters: #{params.inspect}\n" if params message << "Completed #{status} #{::Rack::Utils::HTTP_STATUS_CODES[status]} in #{total_time}ms" - message << " (#{additions.join(" | ".freeze)})" unless additions.empty? + message << " (#{additions.join(' | '.freeze)})" unless additions.empty? message << "\n" message << "\n" if defined?(::Rails.env) && ::Rails.env.development? From 5eea5ab2183619b156476d2e97e6356d5dc2c82b Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:17:15 +0100 Subject: [PATCH 28/46] AutoFix RuboCop Style/StringLiterals --- .rubocop_todo.yml | 16 --------------- grape_logging.gemspec | 2 +- lib/grape_logging/formatters/rails.rb | 4 ++-- lib/grape_logging/loggers/client_env.rb | 2 +- lib/grape_logging/util/parameter_filter.rb | 6 +++--- .../grape_logging/formatters/rails_spec.rb | 20 +++++++++---------- .../grape_logging/loggers/client_env_spec.rb | 10 +++++----- .../loggers/request_headers_spec.rb | 4 ++-- .../grape_logging/loggers/response_spec.rb | 4 ++-- .../middleware/request_logger_spec.rb | 8 ++++---- 10 files changed, 30 insertions(+), 46 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index f0c05ae..40fbfbc 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -275,22 +275,6 @@ Style/StringConcatenation: - 'lib/grape_logging/formatters/lograge.rb' - 'lib/grape_logging/formatters/logstash.rb' -# Offense count: 33 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. -# SupportedStyles: single_quotes, double_quotes -Style/StringLiterals: - Exclude: - - 'grape_logging.gemspec' - - 'lib/grape_logging/formatters/rails.rb' - - 'lib/grape_logging/loggers/client_env.rb' - - 'lib/grape_logging/util/parameter_filter.rb' - - 'spec/lib/grape_logging/formatters/rails_spec.rb' - - 'spec/lib/grape_logging/loggers/client_env_spec.rb' - - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' - - 'spec/lib/grape_logging/loggers/response_spec.rb' - - 'spec/lib/grape_logging/middleware/request_logger_spec.rb' - # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments. diff --git a/grape_logging.gemspec b/grape_logging.gemspec index 18b9da0..3090481 100644 --- a/grape_logging.gemspec +++ b/grape_logging.gemspec @@ -14,7 +14,7 @@ Gem::Specification.new do |spec| spec.license = 'MIT' spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) } - spec.bindir = "exe" + spec.bindir = 'exe' spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ['lib'] diff --git a/lib/grape_logging/formatters/rails.rb b/lib/grape_logging/formatters/rails.rb index 6d82abc..fdcaab8 100644 --- a/lib/grape_logging/formatters/rails.rb +++ b/lib/grape_logging/formatters/rails.rb @@ -23,7 +23,7 @@ def format_exception(exception) [ "#{exception.message} (#{exception.class})", backtrace_array.join("\n") - ].reject { |line| line == "" }.join("\n") + ].reject { |line| line == '' }.join("\n") end def format_hash(hash) @@ -31,7 +31,7 @@ def format_hash(hash) # Completed 200 OK in 958ms (Views: 951.1ms | ActiveRecord: 3.8ms) # See: actionpack/lib/action_controller/log_subscriber.rb - message = "" + message = '' additions = [] status = hash.delete(:status) params = hash.delete(:params) diff --git a/lib/grape_logging/loggers/client_env.rb b/lib/grape_logging/loggers/client_env.rb index b8cd027..9d84dd8 100644 --- a/lib/grape_logging/loggers/client_env.rb +++ b/lib/grape_logging/loggers/client_env.rb @@ -2,7 +2,7 @@ module GrapeLogging module Loggers class ClientEnv < GrapeLogging::Loggers::Base def parameters(request, _) - { ip: request.env["HTTP_X_FORWARDED_FOR"] || request.env["REMOTE_ADDR"], ua: request.env["HTTP_USER_AGENT"] } + { ip: request.env['HTTP_X_FORWARDED_FOR'] || request.env['REMOTE_ADDR'], ua: request.env['HTTP_USER_AGENT'] } end end end diff --git a/lib/grape_logging/util/parameter_filter.rb b/lib/grape_logging/util/parameter_filter.rb index c840a96..8475c65 100644 --- a/lib/grape_logging/util/parameter_filter.rb +++ b/lib/grape_logging/util/parameter_filter.rb @@ -6,7 +6,7 @@ def initialize(_replacement, filter_parameters) end end else - require "active_support/parameter_filter" + require 'active_support/parameter_filter' class ParameterFilter < ActiveSupport::ParameterFilter def initialize(_replacement, filter_parameters) @@ -52,8 +52,8 @@ def self.compile(replacement, filters) end end - deep_regexps, regexps = regexps.partition { |r| r.to_s.include?("\\.".freeze) } - deep_strings, strings = strings.partition { |s| s.include?("\\.".freeze) } + deep_regexps, regexps = regexps.partition { |r| r.to_s.include?('\\.'.freeze) } + deep_strings, strings = strings.partition { |s| s.include?('\\.'.freeze) } regexps << Regexp.new(strings.join('|'.freeze), true) unless strings.empty? deep_regexps << Regexp.new(deep_strings.join('|'.freeze), true) unless deep_strings.empty? diff --git a/spec/lib/grape_logging/formatters/rails_spec.rb b/spec/lib/grape_logging/formatters/rails_spec.rb index 3607502..9686881 100644 --- a/spec/lib/grape_logging/formatters/rails_spec.rb +++ b/spec/lib/grape_logging/formatters/rails_spec.rb @@ -2,7 +2,7 @@ describe GrapeLogging::Formatters::Rails do let(:formatter) { described_class.new } - let(:severity) { "INFO" } + let(:severity) { 'INFO' } let(:datetime) { Time.new('2018', '03', '02', '10', '35', '04', '+13:00') } let(:exception_data) { ArgumentError.new('Message') } @@ -14,9 +14,9 @@ db: 40.63, view: 231.76999999999998 }, - method: "GET", - path: "/api/endpoint", - host: "localhost" + method: 'GET', + path: '/api/endpoint', + host: 'localhost' } } @@ -36,7 +36,7 @@ message = formatter.call(severity, datetime, nil, exception_data) lines = message.split("\n") - expect(lines[0]).to eq "I [2018-03-02 10:35:04 +1300] INFO -- : Message (ArgumentError)" + expect(lines[0]).to eq 'I [2018-03-02 10:35:04 +1300] INFO -- : Message (ArgumentError)' expect(lines[1]).to include '.rb' expect(lines.size).to be > 1 end @@ -52,9 +52,9 @@ it 'includes params if included (from GrapeLogging::Loggers::FilterParameters)' do hash_data.merge!( params: { - "some_param" => { - value_1: "123", - value_2: "456" + 'some_param' => { + value_1: '123', + value_2: '456' } } ) @@ -68,11 +68,11 @@ ' Parameters: {"some_param"=>{:value_1=>"123", :value_2=>"456"}}' end expect(lines.first).to eq expected_output - expect(lines.last).to eq "Completed 200 OK in 272.4ms (Views: 231.77ms | DB: 40.63ms)" + expect(lines.last).to eq 'Completed 200 OK in 272.4ms (Views: 231.77ms | DB: 40.63ms)' end end - context "unhandled data" do + context 'unhandled data' do it 'returns the #inspect string representation' do message = formatter.call(severity, datetime, nil, [1, 2, 3]) diff --git a/spec/lib/grape_logging/loggers/client_env_spec.rb b/spec/lib/grape_logging/loggers/client_env_spec.rb index 2676319..3d490fa 100644 --- a/spec/lib/grape_logging/loggers/client_env_spec.rb +++ b/spec/lib/grape_logging/loggers/client_env_spec.rb @@ -4,13 +4,13 @@ describe GrapeLogging::Loggers::ClientEnv do let(:ip) { '10.0.0.1' } let(:user_agent) { 'user agent' } - let(:forwarded_for) { "forwarded for" } - let(:remote_addr) { "remote address" } + let(:forwarded_for) { 'forwarded for' } + let(:remote_addr) { 'remote address' } context 'forwarded for' do let(:mock_request) do OpenStruct.new(env: { - "HTTP_X_FORWARDED_FOR" => forwarded_for + 'HTTP_X_FORWARDED_FOR' => forwarded_for }) end @@ -27,7 +27,7 @@ context 'remote address' do let(:mock_request) do OpenStruct.new(env: { - "REMOTE_ADDR" => remote_addr + 'REMOTE_ADDR' => remote_addr }) end @@ -39,7 +39,7 @@ context 'user agent' do let(:mock_request) do OpenStruct.new(env: { - "HTTP_USER_AGENT" => user_agent + 'HTTP_USER_AGENT' => user_agent }) end diff --git a/spec/lib/grape_logging/loggers/request_headers_spec.rb b/spec/lib/grape_logging/loggers/request_headers_spec.rb index 2d00843..b9c02d6 100644 --- a/spec/lib/grape_logging/loggers/request_headers_spec.rb +++ b/spec/lib/grape_logging/loggers/request_headers_spec.rb @@ -9,14 +9,14 @@ let(:mock_request_with_unhandled_headers) do OpenStruct.new(env: { HTTP_REFERER: 'http://example.com', - "PATH_INFO" => "/api/v1/users" + 'PATH_INFO' => '/api/v1/users' }) end let(:mock_request_with_long_headers) do OpenStruct.new(env: { HTTP_REFERER: 'http://example.com', - HTTP_USER_AGENT: "Mozilla/5.0" + HTTP_USER_AGENT: 'Mozilla/5.0' }) end diff --git a/spec/lib/grape_logging/loggers/response_spec.rb b/spec/lib/grape_logging/loggers/response_spec.rb index c610b61..d04d91d 100644 --- a/spec/lib/grape_logging/loggers/response_spec.rb +++ b/spec/lib/grape_logging/loggers/response_spec.rb @@ -4,7 +4,7 @@ describe GrapeLogging::Loggers::Response do context 'with a parseable JSON body' do let(:response) do - OpenStruct.new(body: [{ "one": "two", "three": { "four": 5 } }]) + OpenStruct.new(body: [{ "one": 'two', "three": { "four": 5 } }]) end it 'returns an array of parsed JSON objects' do @@ -16,7 +16,7 @@ context 'with a body that is not parseable JSON' do let(:response) do - OpenStruct.new(body: "this is a body") + OpenStruct.new(body: 'this is a body') end it 'just returns the body' do diff --git a/spec/lib/grape_logging/middleware/request_logger_spec.rb b/spec/lib/grape_logging/middleware/request_logger_spec.rb index b3876fc..19f767b 100644 --- a/spec/lib/grape_logging/middleware/request_logger_spec.rb +++ b/spec/lib/grape_logging/middleware/request_logger_spec.rb @@ -64,7 +64,7 @@ options[:include] << GrapeLogging::Loggers::RequestHeaders.new options[:include] << GrapeLogging::Loggers::ClientEnv.new options[:include] << GrapeLogging::Loggers::Response.new - options[:include] << GrapeLogging::Loggers::FilterParameters.new(["replace_me"]) + options[:include] << GrapeLogging::Loggers::FilterParameters.new(['replace_me']) end %w[get put post delete options head patch].each do |the_method| @@ -84,9 +84,9 @@ it 'should filter parameters in the log' do expect(logger).to receive('info') do |arguments| expect(arguments[:params]).to eq( - "replace_me" => '[FILTERED]', - "replace_me_too" => '[FILTERED]', - "cant_touch_this" => 'should see' + 'replace_me' => '[FILTERED]', + 'replace_me_too' => '[FILTERED]', + 'cant_touch_this' => 'should see' ) end parameters = { From 5e78a32bfe2f90a7284a6c5d610f3d7e59fe1340 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:17:45 +0100 Subject: [PATCH 29/46] AutoFix RuboCop Style/RescueStandardError --- .rubocop_todo.yml | 8 -------- lib/grape_logging/loggers/response.rb | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 40fbfbc..8ec8041 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -236,14 +236,6 @@ Style/RedundantPercentQ: Exclude: - 'grape_logging.gemspec' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: implicit, explicit -Style/RescueStandardError: - Exclude: - - 'lib/grape_logging/loggers/response.rb' - # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. diff --git a/lib/grape_logging/loggers/response.rb b/lib/grape_logging/loggers/response.rb index 307d721..9bff5f3 100644 --- a/lib/grape_logging/loggers/response.rb +++ b/lib/grape_logging/loggers/response.rb @@ -15,7 +15,7 @@ def serialized_response_body(response) # Rack responses begin response.body.map { |body| JSON.parse(body.to_s) } - rescue # No reason to have "=> e" here when we don't use it.. + rescue StandardError # No reason to have "=> e" here when we don't use it.. response.body end else From e6af1dabf85fba2150e0731b0cdd74664ec4d890 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:18:39 +0100 Subject: [PATCH 30/46] AutoFix RuboCop Style/RedundantPercentQ --- .rubocop_todo.yml | 6 ------ grape_logging.gemspec | 4 ++-- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 8ec8041..7dd79b6 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -230,12 +230,6 @@ Style/RedundantConstantBase: Exclude: - 'lib/grape_logging/util/parameter_filter.rb' -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -Style/RedundantPercentQ: - Exclude: - - 'grape_logging.gemspec' - # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. diff --git a/grape_logging.gemspec b/grape_logging.gemspec index 3090481..1ab6127 100644 --- a/grape_logging.gemspec +++ b/grape_logging.gemspec @@ -8,8 +8,8 @@ Gem::Specification.new do |spec| spec.authors = ['aserafin'] spec.email = ['adrian@softmad.pl'] - spec.summary = %q{Out of the box request logging for Grape!} - spec.description = %q{This gem provides simple request logging for Grape with just few lines of code you have to put in your project! In return you will get response codes, paths, parameters and more!} + spec.summary = 'Out of the box request logging for Grape!' + spec.description = 'This gem provides simple request logging for Grape with just few lines of code you have to put in your project! In return you will get response codes, paths, parameters and more!' spec.homepage = 'http://github.com/aserafin/grape_logging' spec.license = 'MIT' From 3a71be798ef1e5949e1031f198607b8d2632ad13 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:19:14 +0100 Subject: [PATCH 31/46] AutoFix RuboCop Style/RedundantConstantBase --- .rubocop_todo.yml | 6 ------ lib/grape_logging/util/parameter_filter.rb | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 7dd79b6..e0c9e28 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -224,12 +224,6 @@ Style/QuotedSymbols: Exclude: - 'spec/lib/grape_logging/loggers/response_spec.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Style/RedundantConstantBase: - Exclude: - - 'lib/grape_logging/util/parameter_filter.rb' - # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. diff --git a/lib/grape_logging/util/parameter_filter.rb b/lib/grape_logging/util/parameter_filter.rb index 8475c65..55b8d20 100644 --- a/lib/grape_logging/util/parameter_filter.rb +++ b/lib/grape_logging/util/parameter_filter.rb @@ -1,4 +1,4 @@ -if defined?(::Rails.application) +if defined?(Rails.application) if Gem::Version.new(Rails.version) < Gem::Version.new('6.0.0') class ParameterFilter < ActionDispatch::Http::ParameterFilter def initialize(_replacement, filter_parameters) From 6f0ffc2fdaaee10916240a617a40220b91a81533 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:19:40 +0100 Subject: [PATCH 32/46] AutoFix RuboCop Style/QuotedSymbols --- .rubocop_todo.yml | 8 -------- spec/lib/grape_logging/loggers/response_spec.rb | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index e0c9e28..62a87f2 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -216,14 +216,6 @@ Style/PercentLiteralDelimiters: - 'grape_logging.gemspec' - 'lib/grape_logging/loggers/filter_parameters.rb' -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: same_as_string_literals, single_quotes, double_quotes -Style/QuotedSymbols: - Exclude: - - 'spec/lib/grape_logging/loggers/response_spec.rb' - # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. diff --git a/spec/lib/grape_logging/loggers/response_spec.rb b/spec/lib/grape_logging/loggers/response_spec.rb index d04d91d..430eb82 100644 --- a/spec/lib/grape_logging/loggers/response_spec.rb +++ b/spec/lib/grape_logging/loggers/response_spec.rb @@ -4,7 +4,7 @@ describe GrapeLogging::Loggers::Response do context 'with a parseable JSON body' do let(:response) do - OpenStruct.new(body: [{ "one": 'two', "three": { "four": 5 } }]) + OpenStruct.new(body: [{ 'one': 'two', 'three': { 'four': 5 } }]) end it 'returns an array of parsed JSON objects' do From 481a6f67ff6a155954f35776408e19d31ffc79ba Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:20:03 +0100 Subject: [PATCH 33/46] AutoFix RuboCop Style/PercentLiteralDelimiters --- .rubocop_todo.yml | 8 -------- lib/grape_logging/loggers/filter_parameters.rb | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 62a87f2..0d663a5 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -208,14 +208,6 @@ Style/ParallelAssignment: Exclude: - 'lib/grape_logging/util/parameter_filter.rb' -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: PreferredDelimiters. -Style/PercentLiteralDelimiters: - Exclude: - - 'grape_logging.gemspec' - - 'lib/grape_logging/loggers/filter_parameters.rb' - # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. diff --git a/lib/grape_logging/loggers/filter_parameters.rb b/lib/grape_logging/loggers/filter_parameters.rb index 64dbe7e..d7de5f6 100644 --- a/lib/grape_logging/loggers/filter_parameters.rb +++ b/lib/grape_logging/loggers/filter_parameters.rb @@ -3,7 +3,7 @@ module Loggers class FilterParameters < GrapeLogging::Loggers::Base AD_PARAMS = 'action_dispatch.request.parameters'.freeze - def initialize(filter_parameters = nil, replacement = nil, exceptions = %w(controller action format)) + def initialize(filter_parameters = nil, replacement = nil, exceptions = %w[controller action format]) @filter_parameters = filter_parameters || (defined?(::Rails.application) ? ::Rails.application.config.filter_parameters : []) @replacement = replacement || '[FILTERED]' @exceptions = exceptions From c1fa224cc24896b9321afd77615d8f80bc35c475 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:20:32 +0100 Subject: [PATCH 34/46] AutoFix RuboCop Style/ParallelAssignment --- .rubocop_todo.yml | 6 ------ lib/grape_logging/util/parameter_filter.rb | 4 +++- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 0d663a5..6521c68 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -202,12 +202,6 @@ Style/OpenStructUse: - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' - 'spec/lib/grape_logging/loggers/response_spec.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Style/ParallelAssignment: - Exclude: - - 'lib/grape_logging/util/parameter_filter.rb' - # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength. diff --git a/lib/grape_logging/util/parameter_filter.rb b/lib/grape_logging/util/parameter_filter.rb index 55b8d20..c60ed88 100644 --- a/lib/grape_logging/util/parameter_filter.rb +++ b/lib/grape_logging/util/parameter_filter.rb @@ -39,7 +39,9 @@ class CompiledFilter # :nodoc: def self.compile(replacement, filters) return lambda { |params| params.dup } if filters.empty? - strings, regexps, blocks = [], [], [] + strings = [] + regexps = [] + blocks = [] filters.each do |item| case item From a95640b31bbdfa7c47a496653133401b918bc216 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:20:53 +0100 Subject: [PATCH 35/46] AutoFix RuboCop Style/MultilineIfModifier --- .rubocop_todo.yml | 6 ------ lib/grape_logging/middleware/request_logger.rb | 10 ++++++---- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 6521c68..a4e5034 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -180,12 +180,6 @@ Style/ModuleFunction: Exclude: - 'lib/grape_logging/timings.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Style/MultilineIfModifier: - Exclude: - - 'lib/grape_logging/middleware/request_logger.rb' - # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle. diff --git a/lib/grape_logging/middleware/request_logger.rb b/lib/grape_logging/middleware/request_logger.rb index b6e112f..b2fc37e 100644 --- a/lib/grape_logging/middleware/request_logger.rb +++ b/lib/grape_logging/middleware/request_logger.rb @@ -3,10 +3,12 @@ module GrapeLogging module Middleware class RequestLogger < Grape::Middleware::Base - ActiveSupport::Notifications.subscribe('sql.active_record') do |*args| - event = ActiveSupport::Notifications::Event.new(*args) - GrapeLogging::Timings.append_db_runtime(event) - end if defined?(ActiveRecord) + if defined?(ActiveRecord) + ActiveSupport::Notifications.subscribe('sql.active_record') do |*args| + event = ActiveSupport::Notifications::Event.new(*args) + GrapeLogging::Timings.append_db_runtime(event) + end + end # Persist response status & response (body) # to use int in parameters From 65aa4648b2132092c78102257b6e617ec2ac251a Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:21:14 +0100 Subject: [PATCH 36/46] AutoFix RuboCop Style/Lambda --- .rubocop_todo.yml | 9 --------- lib/grape_logging/util/parameter_filter.rb | 2 +- spec/lib/grape_logging/loggers/filter_parameters_spec.rb | 2 +- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index a4e5034..632dba8 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -163,15 +163,6 @@ Style/IfUnlessModifier: Exclude: - 'lib/grape_logging/reporters/logger_reporter.rb' -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: line_count_dependent, lambda, literal -Style/Lambda: - Exclude: - - 'lib/grape_logging/util/parameter_filter.rb' - - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' - # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle, Autocorrect. diff --git a/lib/grape_logging/util/parameter_filter.rb b/lib/grape_logging/util/parameter_filter.rb index c60ed88..9d009ee 100644 --- a/lib/grape_logging/util/parameter_filter.rb +++ b/lib/grape_logging/util/parameter_filter.rb @@ -37,7 +37,7 @@ def compiled_filter class CompiledFilter # :nodoc: def self.compile(replacement, filters) - return lambda { |params| params.dup } if filters.empty? + return ->(params) { params.dup } if filters.empty? strings = [] regexps = [] diff --git a/spec/lib/grape_logging/loggers/filter_parameters_spec.rb b/spec/lib/grape_logging/loggers/filter_parameters_spec.rb index 9aba5ea..b189094 100644 --- a/spec/lib/grape_logging/loggers/filter_parameters_spec.rb +++ b/spec/lib/grape_logging/loggers/filter_parameters_spec.rb @@ -16,7 +16,7 @@ end let(:mock_request_with_deep_nesting) do - deep_clone = lambda { Marshal.load Marshal.dump mock_request.params } + deep_clone = -> { Marshal.load Marshal.dump mock_request.params } OpenStruct.new( params: deep_clone.call.merge( 'five' => deep_clone.call.merge( From 4ca251f9a87005c411119098651f608658477127 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:21:32 +0100 Subject: [PATCH 37/46] AutoFix RuboCop Style/IfUnlessModifier --- .rubocop_todo.yml | 6 ------ lib/grape_logging/reporters/logger_reporter.rb | 4 +--- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 632dba8..7731553 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -157,12 +157,6 @@ Style/HashSyntax: Exclude: - 'lib/grape_logging/formatters/logstash.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Style/IfUnlessModifier: - Exclude: - - 'lib/grape_logging/reporters/logger_reporter.rb' - # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle, Autocorrect. diff --git a/lib/grape_logging/reporters/logger_reporter.rb b/lib/grape_logging/reporters/logger_reporter.rb index 750d94b..422aa92 100644 --- a/lib/grape_logging/reporters/logger_reporter.rb +++ b/lib/grape_logging/reporters/logger_reporter.rb @@ -3,9 +3,7 @@ class LoggerReporter def initialize(logger, formatter, log_level) @logger = logger.clone || Logger.new(STDOUT) @log_level = log_level || :info - if @logger.respond_to?(:formatter=) - @logger.formatter = formatter || @logger.formatter || GrapeLogging::Formatters::Default.new - end + @logger.formatter = formatter || @logger.formatter || GrapeLogging::Formatters::Default.new if @logger.respond_to?(:formatter=) end def perform(params) From f6ae186ea688d9962e273887831182e933e2cbb4 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:22:12 +0100 Subject: [PATCH 38/46] AutoFix RuboCop Style/HashSyntax --- .rubocop_todo.yml | 9 --------- lib/grape_logging/formatters/logstash.rb | 6 +++--- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 7731553..2e1716a 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -148,15 +148,6 @@ Style/GuardClause: Exclude: - 'lib/grape_logging/reporters/logger_reporter.rb' -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. -# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys -# SupportedShorthandSyntax: always, never, either, consistent, either_consistent -Style/HashSyntax: - Exclude: - - 'lib/grape_logging/formatters/logstash.rb' - # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle, Autocorrect. diff --git a/lib/grape_logging/formatters/logstash.rb b/lib/grape_logging/formatters/logstash.rb index 51192a2..7bc093f 100644 --- a/lib/grape_logging/formatters/logstash.rb +++ b/lib/grape_logging/formatters/logstash.rb @@ -3,9 +3,9 @@ module Formatters class Logstash def call(severity, datetime, _, data) { - :'@timestamp' => datetime.iso8601, - :'@version' => '1', - :severity => severity + '@timestamp': datetime.iso8601, + '@version': '1', + severity: severity }.merge!(format(data)).to_json + "\n" end From b8d083142f52e5160120429b5b5deb4c60600822 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:22:37 +0100 Subject: [PATCH 39/46] AutoFix RuboCop Style/GuardClause --- .rubocop_todo.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 2e1716a..ff6857b 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -141,13 +141,6 @@ Style/GlobalStdStream: Exclude: - 'lib/grape_logging/reporters/logger_reporter.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. -Style/GuardClause: - Exclude: - - 'lib/grape_logging/reporters/logger_reporter.rb' - # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle, Autocorrect. From 086281a5e97ebae8fdcda96b5a97f041cbee9c98 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:23:14 +0100 Subject: [PATCH 40/46] AutoFix RuboCop Style/ExpandPathArguments --- .rubocop_todo.yml | 6 ------ grape_logging.gemspec | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index ff6857b..b4f81f8 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -122,12 +122,6 @@ Style/CaseLikeIf: Style/Documentation: Enabled: false -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Style/ExpandPathArguments: - Exclude: - - 'grape_logging.gemspec' - # Offense count: 29 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle. diff --git a/grape_logging.gemspec b/grape_logging.gemspec index 1ab6127..f2aeb65 100644 --- a/grape_logging.gemspec +++ b/grape_logging.gemspec @@ -1,4 +1,4 @@ -lib = File.expand_path('../lib', __FILE__) +lib = File.expand_path('lib', __dir__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) require 'grape_logging/version' From f3552bc1ff7f5501064a436335d1ea0647f04e37 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:23:49 +0100 Subject: [PATCH 41/46] AutoFix RuboCop Style/BlockDelimiters --- .rubocop_todo.yml | 11 ----------- spec/lib/grape_logging/formatters/rails_spec.rb | 4 ++-- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index b4f81f8..29ffa79 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -97,17 +97,6 @@ Style/BlockComments: Exclude: - 'spec/spec_helper.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, AllowedMethods, AllowedPatterns, AllowBracesOnProceduralOneLiners, BracesRequiredMethods. -# SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces -# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object -# FunctionalMethods: let, let!, subject, watch -# AllowedMethods: lambda, proc, it -Style/BlockDelimiters: - Exclude: - - 'spec/lib/grape_logging/formatters/rails_spec.rb' - # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: MinBranchesCount. diff --git a/spec/lib/grape_logging/formatters/rails_spec.rb b/spec/lib/grape_logging/formatters/rails_spec.rb index 9686881..433d02a 100644 --- a/spec/lib/grape_logging/formatters/rails_spec.rb +++ b/spec/lib/grape_logging/formatters/rails_spec.rb @@ -6,7 +6,7 @@ let(:datetime) { Time.new('2018', '03', '02', '10', '35', '04', '+13:00') } let(:exception_data) { ArgumentError.new('Message') } - let(:hash_data) { + let(:hash_data) do { status: 200, time: { @@ -18,7 +18,7 @@ path: '/api/endpoint', host: 'localhost' } - } + end describe '#call' do context 'string data' do From 93b41a6a2a95c312eca7962baa4c40d6ca526907 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:27:49 +0100 Subject: [PATCH 42/46] AutoFix RuboCop Style/BlockComments --- .rubocop_todo.yml | 6 --- spec/spec_helper.rb | 104 ++++++++++++++++++++++---------------------- 2 files changed, 51 insertions(+), 59 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 29ffa79..3200fd3 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -91,12 +91,6 @@ Naming/VariableNumber: Exclude: - 'spec/lib/grape_logging/formatters/rails_spec.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Style/BlockComments: - Exclude: - - 'spec/spec_helper.rb' - # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: MinBranchesCount. diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 59d065a..75f6252 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -33,57 +33,55 @@ # triggering implicit auto-inclusion in groups with matching metadata. config.shared_context_metadata_behavior = :apply_to_host_groups -# The settings below are suggested to provide a good initial experience -# with RSpec, but feel free to customize to your heart's content. -=begin - # This allows you to limit a spec run to individual examples or groups - # you care about by tagging them with `:focus` metadata. When nothing - # is tagged with `:focus`, all examples get run. RSpec also provides - # aliases for `it`, `describe`, and `context` that include `:focus` - # metadata: `fit`, `fdescribe` and `fcontext`, respectively. - config.filter_run_when_matching :focus - - # Allows RSpec to persist some state between runs in order to support - # the `--only-failures` and `--next-failure` CLI options. We recommend - # you configure your source control system to ignore this file. - config.example_status_persistence_file_path = "spec/examples.txt" - - # Limits the available syntax to the non-monkey patched syntax that is - # recommended. For more details, see: - # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/ - # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ - # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode - config.disable_monkey_patching! - - # This setting enables warnings. It's recommended, but in some cases may - # be too noisy due to issues in dependencies. - config.warnings = true - - # Many RSpec users commonly either run the entire suite or an individual - # file, and it's useful to allow more verbose output when running an - # individual spec file. - if config.files_to_run.one? - # Use the documentation formatter for detailed output, - # unless a formatter has already been configured - # (e.g. via a command-line flag). - config.default_formatter = 'doc' - end - - # Print the 10 slowest examples and example groups at the - # end of the spec run, to help surface which specs are running - # particularly slow. - config.profile_examples = 10 - - # Run specs in random order to surface order dependencies. If you find an - # order dependency and want to debug it, you can fix the order by providing - # the seed, which is printed after each run. - # --seed 1234 - config.order = :random - - # Seed global randomization in this process using the `--seed` CLI option. - # Setting this allows you to use `--seed` to deterministically reproduce - # test failures related to randomization by passing the same `--seed` value - # as the one that triggered the failure. - Kernel.srand config.seed -=end + # The settings below are suggested to provide a good initial experience + # with RSpec, but feel free to customize to your heart's content. + # # This allows you to limit a spec run to individual examples or groups + # # you care about by tagging them with `:focus` metadata. When nothing + # # is tagged with `:focus`, all examples get run. RSpec also provides + # # aliases for `it`, `describe`, and `context` that include `:focus` + # # metadata: `fit`, `fdescribe` and `fcontext`, respectively. + # config.filter_run_when_matching :focus + # + # # Allows RSpec to persist some state between runs in order to support + # # the `--only-failures` and `--next-failure` CLI options. We recommend + # # you configure your source control system to ignore this file. + # config.example_status_persistence_file_path = "spec/examples.txt" + # + # # Limits the available syntax to the non-monkey patched syntax that is + # # recommended. For more details, see: + # # - http://rspec.info/blog/2012/06/rspecs-new-expectation-syntax/ + # # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ + # # - http://rspec.info/blog/2014/05/notable-changes-in-rspec-3/#zero-monkey-patching-mode + # config.disable_monkey_patching! + # + # # This setting enables warnings. It's recommended, but in some cases may + # # be too noisy due to issues in dependencies. + # config.warnings = true + # + # # Many RSpec users commonly either run the entire suite or an individual + # # file, and it's useful to allow more verbose output when running an + # # individual spec file. + # if config.files_to_run.one? + # # Use the documentation formatter for detailed output, + # # unless a formatter has already been configured + # # (e.g. via a command-line flag). + # config.default_formatter = 'doc' + # end + # + # # Print the 10 slowest examples and example groups at the + # # end of the spec run, to help surface which specs are running + # # particularly slow. + # config.profile_examples = 10 + # + # # Run specs in random order to surface order dependencies. If you find an + # # order dependency and want to debug it, you can fix the order by providing + # # the seed, which is printed after each run. + # # --seed 1234 + # config.order = :random + # + # # Seed global randomization in this process using the `--seed` CLI option. + # # Setting this allows you to use `--seed` to deterministically reproduce + # # test failures related to randomization by passing the same `--seed` value + # # as the one that triggered the failure. + # Kernel.srand config.seed end From e5b6b00c47a8071120f04b1cd28b2082073b4cb0 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:28:33 +0100 Subject: [PATCH 43/46] AutoFix RuboCop Lint/UnusedMethodArgument --- .rubocop_todo.yml | 8 -------- lib/grape_logging/loggers/base.rb | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 3200fd3..3405062 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -49,14 +49,6 @@ Lint/SymbolConversion: Exclude: - 'spec/lib/grape_logging/loggers/response_spec.rb' -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AutoCorrect, AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions. -# NotImplementedExceptions: NotImplementedError -Lint/UnusedMethodArgument: - Exclude: - - 'lib/grape_logging/loggers/base.rb' - # Offense count: 3 # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. Metrics/AbcSize: diff --git a/lib/grape_logging/loggers/base.rb b/lib/grape_logging/loggers/base.rb index d2e9e11..046b9a3 100644 --- a/lib/grape_logging/loggers/base.rb +++ b/lib/grape_logging/loggers/base.rb @@ -1,7 +1,7 @@ module GrapeLogging module Loggers class Base - def parameters(request, response) + def parameters(_request, _response) {} end end From f3ce2561a28f0669d3989dcb29665855e69c371c Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Tue, 8 Jul 2025 17:28:54 +0100 Subject: [PATCH 44/46] AutoFix RuboCop Lint/SymbolConversion --- .rubocop_todo.yml | 8 -------- spec/lib/grape_logging/loggers/response_spec.rb | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 3405062..08b5d86 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -41,14 +41,6 @@ Lint/MissingSuper: Exclude: - 'lib/grape_logging/loggers/filter_parameters.rb' -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: strict, consistent -Lint/SymbolConversion: - Exclude: - - 'spec/lib/grape_logging/loggers/response_spec.rb' - # Offense count: 3 # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. Metrics/AbcSize: diff --git a/spec/lib/grape_logging/loggers/response_spec.rb b/spec/lib/grape_logging/loggers/response_spec.rb index 430eb82..c70c253 100644 --- a/spec/lib/grape_logging/loggers/response_spec.rb +++ b/spec/lib/grape_logging/loggers/response_spec.rb @@ -4,7 +4,7 @@ describe GrapeLogging::Loggers::Response do context 'with a parseable JSON body' do let(:response) do - OpenStruct.new(body: [{ 'one': 'two', 'three': { 'four': 5 } }]) + OpenStruct.new(body: [{ one: 'two', three: { four: 5 } }]) end it 'returns an array of parsed JSON objects' do From b338298711c5e4c208cc48ab7aa961bd904a66d1 Mon Sep 17 00:00:00 2001 From: Pieter Oliver Date: Thu, 10 Jul 2025 11:26:28 +0100 Subject: [PATCH 45/46] Fix auto-gen formatting + RuboCop AutoFix Style/ModuleFunction --- .rubocop_todo.yml | 50 +++++++++++++++--------------------- lib/grape_logging/timings.rb | 2 +- 2 files changed, 22 insertions(+), 30 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index aa54297..383e0b2 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2025-06-30 11:36:15 UTC using RuboCop version 1.77.0. +# on 2025-07-10 10:25:51 UTC using RuboCop version 1.77.0. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -12,7 +12,7 @@ # Include: **/*.gemspec, **/Gemfile, **/gems.rb Gemspec/DevelopmentDependencies: Exclude: - - "grape_logging.gemspec" + - 'grape_logging.gemspec' # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). @@ -20,7 +20,7 @@ Gemspec/DevelopmentDependencies: # Include: **/*.gemspec Gemspec/RequireMFA: Exclude: - - "grape_logging.gemspec" + - 'grape_logging.gemspec' # Offense count: 1 # Configuration parameters: Severity, Include. @@ -28,6 +28,7 @@ Gemspec/RequireMFA: Gemspec/RequiredRubyVersion: Exclude: - 'grape_logging.gemspec' + # Offense count: 1 # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch. Lint/DuplicateBranch: @@ -38,7 +39,7 @@ Lint/DuplicateBranch: # Configuration parameters: AllowedParentClasses. Lint/MissingSuper: Exclude: - - "lib/grape_logging/loggers/filter_parameters.rb" + - 'lib/grape_logging/loggers/filter_parameters.rb' # Offense count: 3 # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. @@ -72,16 +73,16 @@ Metrics/PerceivedComplexity: # AllowedIdentifiers: TLS1_1, TLS1_2, capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64 Naming/VariableNumber: Exclude: - - "spec/lib/grape_logging/formatters/rails_spec.rb" + - 'spec/lib/grape_logging/formatters/rails_spec.rb' # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: MinBranchesCount. Style/CaseLikeIf: Exclude: - - "lib/grape_logging/formatters/default.rb" - - "lib/grape_logging/formatters/logstash.rb" - - "lib/grape_logging/formatters/rails.rb" + - 'lib/grape_logging/formatters/default.rb' + - 'lib/grape_logging/formatters/logstash.rb' + - 'lib/grape_logging/formatters/rails.rb' # Offense count: 17 # Configuration parameters: AllowedConstants. @@ -99,7 +100,7 @@ Style/FrozenStringLiteralComment: # This cop supports unsafe autocorrection (--autocorrect-all). Style/GlobalStdStream: Exclude: - - "lib/grape_logging/reporters/logger_reporter.rb" + - 'lib/grape_logging/reporters/logger_reporter.rb' # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -109,22 +110,13 @@ Style/MutableConstant: Exclude: - 'lib/grape_logging/version.rb' -# Offense count: 1 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns. -# SupportedStyles: predicate, comparison -Style/NumericPredicate: - Exclude: - - "spec/**/*" - - "lib/grape_logging/formatters/rails.rb" - # Offense count: 10 Style/OpenStructUse: Exclude: - - "spec/lib/grape_logging/loggers/client_env_spec.rb" - - "spec/lib/grape_logging/loggers/filter_parameters_spec.rb" - - "spec/lib/grape_logging/loggers/request_headers_spec.rb" - - "spec/lib/grape_logging/loggers/response_spec.rb" + - 'spec/lib/grape_logging/loggers/client_env_spec.rb' + - 'spec/lib/grape_logging/loggers/filter_parameters_spec.rb' + - 'spec/lib/grape_logging/loggers/request_headers_spec.rb' + - 'spec/lib/grape_logging/loggers/response_spec.rb' # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -138,7 +130,7 @@ Style/SafeNavigation: # This cop supports unsafe autocorrection (--autocorrect-all). Style/SlicingWithRange: Exclude: - - "lib/grape_logging/loggers/request_headers.rb" + - 'lib/grape_logging/loggers/request_headers.rb' # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -146,16 +138,16 @@ Style/SlicingWithRange: # SupportedStyles: use_perl_names, use_english_names, use_builtin_english_names Style/SpecialGlobalVars: Exclude: - - "spec/spec_helper.rb" + - 'spec/spec_helper.rb' # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: Mode. Style/StringConcatenation: Exclude: - - "lib/grape_logging/formatters/json.rb" - - "lib/grape_logging/formatters/lograge.rb" - - "lib/grape_logging/formatters/logstash.rb" + - 'lib/grape_logging/formatters/json.rb' + - 'lib/grape_logging/formatters/lograge.rb' + - 'lib/grape_logging/formatters/logstash.rb' # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -163,11 +155,11 @@ Style/StringConcatenation: # AllowedMethods: define_method Style/SymbolProc: Exclude: - - "lib/grape_logging/util/parameter_filter.rb" + - 'lib/grape_logging/util/parameter_filter.rb' # Offense count: 11 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings. # URISchemes: http, https Layout/LineLength: - Max: 203 \ No newline at end of file + Max: 203 diff --git a/lib/grape_logging/timings.rb b/lib/grape_logging/timings.rb index b9e1c87..dde7cb2 100644 --- a/lib/grape_logging/timings.rb +++ b/lib/grape_logging/timings.rb @@ -1,6 +1,6 @@ module GrapeLogging module Timings - extend self + module_function def db_runtime=(value) Thread.current[:grape_db_runtime] = value From e113998b035f912b7bb1eb3ce8843d92751547b1 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Mon, 14 Jul 2025 15:11:37 -0700 Subject: [PATCH 46/46] Code style --- .../middleware/request_logger.rb | 11 +++++---- lib/grape_logging/timings.rb | 10 ++++---- .../grape_logging/formatters/rails_spec.rb | 11 +++++---- .../loggers/request_headers_spec.rb | 24 ++++++++++++------- .../grape_logging/loggers/response_spec.rb | 8 ++----- 5 files changed, 33 insertions(+), 31 deletions(-) diff --git a/lib/grape_logging/middleware/request_logger.rb b/lib/grape_logging/middleware/request_logger.rb index b2fc37e..883a299 100644 --- a/lib/grape_logging/middleware/request_logger.rb +++ b/lib/grape_logging/middleware/request_logger.rb @@ -18,11 +18,12 @@ def initialize(app, options = {}) super @included_loggers = @options[:include] || [] - @reporter = if options[:instrumentation_key] - Reporters::ActiveSupportReporter.new(@options[:instrumentation_key]) - else - Reporters::LoggerReporter.new(@options[:logger], @options[:formatter], @options[:log_level]) - end + @reporter = + if options[:instrumentation_key] + Reporters::ActiveSupportReporter.new(@options[:instrumentation_key]) + else + Reporters::LoggerReporter.new(@options[:logger], @options[:formatter], @options[:log_level]) + end end def before diff --git a/lib/grape_logging/timings.rb b/lib/grape_logging/timings.rb index dde7cb2..85ddcb0 100644 --- a/lib/grape_logging/timings.rb +++ b/lib/grape_logging/timings.rb @@ -1,20 +1,18 @@ module GrapeLogging module Timings - module_function - - def db_runtime=(value) + def self.db_runtime=(value) Thread.current[:grape_db_runtime] = value end - def db_runtime + def self.db_runtime Thread.current[:grape_db_runtime] ||= 0 end - def reset_db_runtime + def self.reset_db_runtime self.db_runtime = 0 end - def append_db_runtime(event) + def self.append_db_runtime(event) self.db_runtime += event.duration end end diff --git a/spec/lib/grape_logging/formatters/rails_spec.rb b/spec/lib/grape_logging/formatters/rails_spec.rb index 433d02a..a44bdf5 100644 --- a/spec/lib/grape_logging/formatters/rails_spec.rb +++ b/spec/lib/grape_logging/formatters/rails_spec.rb @@ -62,11 +62,12 @@ message = formatter.call(severity, datetime, nil, hash_data) lines = message.split("\n") - expected_output = if RUBY_VERSION >= '3.4' - ' Parameters: {"some_param" => {value_1: "123", value_2: "456"}}' - else - ' Parameters: {"some_param"=>{:value_1=>"123", :value_2=>"456"}}' - end + expected_output = + if RUBY_VERSION >= '3.4' + ' Parameters: {"some_param" => {value_1: "123", value_2: "456"}}' + else + ' Parameters: {"some_param"=>{:value_1=>"123", :value_2=>"456"}}' + end expect(lines.first).to eq expected_output expect(lines.last).to eq 'Completed 200 OK in 272.4ms (Views: 231.77ms | DB: 40.63ms)' end diff --git a/spec/lib/grape_logging/loggers/request_headers_spec.rb b/spec/lib/grape_logging/loggers/request_headers_spec.rb index b9c02d6..f34e9b7 100644 --- a/spec/lib/grape_logging/loggers/request_headers_spec.rb +++ b/spec/lib/grape_logging/loggers/request_headers_spec.rb @@ -21,20 +21,26 @@ end it 'strips HTTP_ from the parameter' do - expect(subject.parameters(mock_request, nil)).to eq({ - headers: { 'Referer' => 'http://example.com', 'Accept' => 'text/plain' } - }) + expect(subject.parameters(mock_request, nil)).to eq( + { + headers: { 'Referer' => 'http://example.com', 'Accept' => 'text/plain' } + } + ) end it 'only handle things which start with HTTP_' do - expect(subject.parameters(mock_request_with_unhandled_headers, nil)).to eq({ - headers: { 'Referer' => 'http://example.com' } - }) + expect(subject.parameters(mock_request_with_unhandled_headers, nil)).to eq( + { + headers: { 'Referer' => 'http://example.com' } + } + ) end it 'substitutes _ with -' do - expect(subject.parameters(mock_request_with_long_headers, nil)).to eq({ - headers: { 'Referer' => 'http://example.com', 'User-Agent' => 'Mozilla/5.0' } - }) + expect(subject.parameters(mock_request_with_long_headers, nil)).to eq( + { + headers: { 'Referer' => 'http://example.com', 'User-Agent' => 'Mozilla/5.0' } + } + ) end end diff --git a/spec/lib/grape_logging/loggers/response_spec.rb b/spec/lib/grape_logging/loggers/response_spec.rb index c70c253..c446135 100644 --- a/spec/lib/grape_logging/loggers/response_spec.rb +++ b/spec/lib/grape_logging/loggers/response_spec.rb @@ -8,9 +8,7 @@ end it 'returns an array of parsed JSON objects' do - expect(subject.parameters(nil, response)).to eq({ - response: [response.body.first] - }) + expect(subject.parameters(nil, response)).to eq({ response: [response.body.first] }) end end @@ -20,9 +18,7 @@ end it 'just returns the body' do - expect(subject.parameters(nil, response)).to eq({ - response: response.body - }) + expect(subject.parameters(nil, response)).to eq({ response: response.body }) end end end