Ruby 2.7 warning "Passing the keyword argument as the last hash parameter is deprecated"
Problem
Fix the warning Passing the keyword argument as the last hash parameter is deprecated.
Deprecation warnings are off by default
In Ruby 2.7.2 depreciation warnings has been turn off by default - see https://bugs.ruby-lang.org/issues/17000.
To enable depreciation warnings temporarily in your code do:
Warning[:deprecated] = true
Solution
Don't pass kwargs as argument for positional parameter but pass a Hash instead.
Before
def foo(args)
end
foo(key: :value)
After
# EITHER
def foo(**args)
end
foo(key: :value)
# OR
def foo(args)
end
foo({ key: :value })
In some cases, we are mixing, kwargs with positional arguments or use double-splats (**) in the signature.
Before
def foo(args, key: :value)
end
foo(another: :bar)
After
def foo(key: :value, **args)
end
foo(another: :bar)
Making of
Downloaded latest warnings via #257438 (comment 420639703) and re-created via !47803 (closed).
Used https://gitlab.com/-/snippets/2020566 to create the list below.
Checklist
Passing the keyword argument as the last hash parameter is deprecated:
-
app/services/packages/composer/create_package_service.rb:13- !47788 (merged)spec/services/packages/composer/create_package_service_spec.rb:22spec/requests/api/composer_packages_spec.rb:222
-
ee/spec/controllers/ee/admin/sessions_controller_spec.rb- !47911 (merged)ee/spec/controllers/ee/admin/sessions_controller_spec.rb:22ee/spec/controllers/ee/admin/sessions_controller_spec.rb:34ee/spec/controllers/ee/admin/sessions_controller_spec.rb:48
-
ee/spec/controllers/ee/sessions_controller_spec.rb- !47911 (merged)ee/spec/controllers/ee/sessions_controller_spec.rb:100ee/spec/controllers/ee/sessions_controller_spec.rb:112ee/spec/controllers/ee/sessions_controller_spec.rb:126
-
ee/spec/features/users/login_spec.rb- !48809 (merged)ee/spec/features/users/login_spec.rb:22
-
ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb- !48809 (merged)ee/spec/lib/gitlab/legacy_github_import/project_creator_spec.rb:19
-
lib/gitlab/application_context.rb:19- !48827 (merged)spec/lib/gitlab/application_context_spec.rb:8
-
spec/controllers/projects/issues_controller_spec.rb- !48887 (merged)spec/controllers/projects/issues_controller_spec.rb:1132spec/controllers/projects/issues_controller_spec.rb:1138spec/controllers/projects/issues_controller_spec.rb:1145
-
spec/controllers/sessions_controller_spec.rb- !47530 (merged)spec/controllers/sessions_controller_spec.rb:412spec/controllers/sessions_controller_spec.rb:417spec/controllers/sessions_controller_spec.rb:279spec/controllers/sessions_controller_spec.rb:288spec/controllers/sessions_controller_spec.rb:300spec/controllers/sessions_controller_spec.rb:330spec/controllers/sessions_controller_spec.rb:339spec/controllers/sessions_controller_spec.rb:349spec/controllers/sessions_controller_spec.rb:357spec/controllers/sessions_controller_spec.rb:378spec/controllers/sessions_controller_spec.rb:386
-
spec/features/admin/admin_mode/login_spec.rb- !48770 (merged)spec/features/admin/admin_mode/login_spec.rb:130
-
spec/features/projects/show/no_password_spec.rb- !48770 (merged)spec/features/projects/show/no_password_spec.rb:36
-
spec/features/users/login_spec.rb- !48770 (merged)spec/features/users/login_spec.rb:318spec/features/users/login_spec.rb:779
-
spec/graphql/resolvers/merge_requests_resolver_spec.rb- !47533 (merged)spec/graphql/resolvers/merge_requests_resolver_spec.rb:61spec/graphql/resolvers/merge_requests_resolver_spec.rb:69spec/graphql/resolvers/merge_requests_resolver_spec.rb:78spec/graphql/resolvers/merge_requests_resolver_spec.rb:79spec/graphql/resolvers/merge_requests_resolver_spec.rb:80spec/graphql/resolvers/merge_requests_resolver_spec.rb:93spec/graphql/resolvers/merge_requests_resolver_spec.rb:105spec/graphql/resolvers/merge_requests_resolver_spec.rb:113spec/graphql/resolvers/merge_requests_resolver_spec.rb:121spec/graphql/resolvers/merge_requests_resolver_spec.rb:129spec/graphql/resolvers/merge_requests_resolver_spec.rb:137spec/graphql/resolvers/merge_requests_resolver_spec.rb:145spec/graphql/resolvers/merge_requests_resolver_spec.rb:156spec/graphql/resolvers/merge_requests_resolver_spec.rb:162spec/graphql/resolvers/merge_requests_resolver_spec.rb:174spec/graphql/resolvers/merge_requests_resolver_spec.rb:180spec/graphql/resolvers/merge_requests_resolver_spec.rb:188spec/graphql/resolvers/merge_requests_resolver_spec.rb:194spec/graphql/resolvers/merge_requests_resolver_spec.rb:204spec/graphql/resolvers/merge_requests_resolver_spec.rb:213spec/graphql/resolvers/merge_requests_resolver_spec.rb:217spec/graphql/resolvers/merge_requests_resolver_spec.rb:228spec/graphql/resolvers/merge_requests_resolver_spec.rb:232
-
spec/graphql/resolvers/project_merge_requests_resolver_spec.rb- !47789 (merged)spec/graphql/resolvers/project_merge_requests_resolver_spec.rb:27spec/graphql/resolvers/project_merge_requests_resolver_spec.rb:33spec/graphql/resolvers/project_merge_requests_resolver_spec.rb:41spec/graphql/resolvers/project_merge_requests_resolver_spec.rb:47
-
spec/lib/gitlab/auth/saml/user_spec.rb- !48770 (merged)spec/lib/gitlab/auth/saml/user_spec.rb:427spec/lib/gitlab/auth/saml/user_spec.rb:447
-
spec/lib/gitlab/ci/config/entry/processable_spec.rb- !48889 (merged)spec/lib/gitlab/ci/config/entry/processable_spec.rb:363
-
spec/lib/gitlab/config/entry/configurable_spec.rb- !48889 (merged)spec/lib/gitlab/config/entry/configurable_spec.rb:18
-
spec/lib/gitlab/diff/lines_unfolder_spec.rb- !48810 (merged)spec/lib/gitlab/diff/lines_unfolder_spec.rb:191
-
spec/lib/gitlab/tracking/destinations/snowplow_spec.rb- !47913 (merged)spec/lib/gitlab/tracking/destinations/snowplow_spec.rb:49spec/lib/gitlab/tracking/destinations/snowplow_spec.rb:74
-
spec/lib/gitlab/tracking_spec.rb- !47913 (merged)spec/lib/gitlab/tracking_spec.rb:54
-
spec/lib/gitlab/git/diff_spec.rb- !47541 (merged) !51573 (merged)spec/lib/gitlab/git/diff_spec.rb:61spec/lib/gitlab/git/diff_spec.rb:296spec/lib/gitlab/git/diff_spec.rb:302spec/lib/gitlab/git/diff_spec.rb:308spec/lib/gitlab/git/diff_spec.rb:318spec/lib/gitlab/git/diff_spec.rb:324spec/lib/gitlab/git/diff_spec.rb:330spec/lib/gitlab/git/diff_spec.rb:354
-
spec/lib/gitlab/legacy_github_import/project_creator_spec.rbspec/lib/gitlab/legacy_github_import/project_creator_spec.rb:18spec/lib/gitlab/legacy_github_import/project_creator_spec.rb:60
-
spec/models/service_spec.rb- !48804 (merged)spec/models/service_spec.rb:248spec/models/service_spec.rb:294
-
spec/support/helpers/multipart_helpers.rb:40- !47791 (merged)spec/lib/gitlab/middleware/multipart_with_handler_for_jwt_params_spec.rb:17
-
spec/support/helpers/workhorse_helpers.rb:88- !47791 (merged)spec/requests/lfs_http_spec.rb:1319spec/requests/api/graphql/mutations/design_management/upload_spec.rb:33ee/spec/requests/api/project_import_spec.rb:66spec/requests/api/nuget_packages_spec.rb:170
-
spec/support/helpers/workhorse_helpers.rb:96- !47791 (merged)spec/requests/lfs_http_spec.rb:1319spec/requests/api/graphql/mutations/design_management/upload_spec.rb:33ee/spec/requests/api/project_import_spec.rb:66spec/requests/api/nuget_packages_spec.rb:170
-
spec/lib/gitlab/config/entry/composable_hash_spec.rb:95- !51573 (merged)spec/lib/gitlab/config/entry/composable_hash_spec.rb:95
-
vendor/ruby/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/cache.rb:330spec/requests/api/merge_requests_spec.rb:1759spec/requests/api/merge_request_approvals_spec.rb:36spec/lib/gitlab/metrics/dashboard/cache_spec.rb:40spec/requests/api/graphql/mutations/merge_requests/set_wip_spec.rb:45ee/spec/requests/api/merge_requests_spec.rb:24spec/controllers/projects_controller_spec.rb:109spec/services/projects/unlink_fork_service_spec.rb:160spec/requests/api/graphql/mutations/merge_requests/set_labels_spec.rb:57spec/services/metrics/dashboard/default_embed_service_spec.rb:49ee/spec/requests/api/project_import_spec.rb:66spec/controllers/dashboard_controller_spec.rb:54spec/services/metrics/dashboard/custom_dashboard_service_spec.rb:57ee/spec/requests/api/merge_request_approvals_spec.rb:284spec/requests/api/graphql/metrics/dashboard_query_spec.rb:54
Edited by Peter Leitzen