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:22
spec/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:22
ee/spec/controllers/ee/admin/sessions_controller_spec.rb:34
ee/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:100
ee/spec/controllers/ee/sessions_controller_spec.rb:112
ee/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:1132
spec/controllers/projects/issues_controller_spec.rb:1138
spec/controllers/projects/issues_controller_spec.rb:1145
-
spec/controllers/sessions_controller_spec.rb
- !47530 (merged)spec/controllers/sessions_controller_spec.rb:412
spec/controllers/sessions_controller_spec.rb:417
spec/controllers/sessions_controller_spec.rb:279
spec/controllers/sessions_controller_spec.rb:288
spec/controllers/sessions_controller_spec.rb:300
spec/controllers/sessions_controller_spec.rb:330
spec/controllers/sessions_controller_spec.rb:339
spec/controllers/sessions_controller_spec.rb:349
spec/controllers/sessions_controller_spec.rb:357
spec/controllers/sessions_controller_spec.rb:378
spec/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:318
spec/features/users/login_spec.rb:779
-
spec/graphql/resolvers/merge_requests_resolver_spec.rb
- !47533 (merged)spec/graphql/resolvers/merge_requests_resolver_spec.rb:61
spec/graphql/resolvers/merge_requests_resolver_spec.rb:69
spec/graphql/resolvers/merge_requests_resolver_spec.rb:78
spec/graphql/resolvers/merge_requests_resolver_spec.rb:79
spec/graphql/resolvers/merge_requests_resolver_spec.rb:80
spec/graphql/resolvers/merge_requests_resolver_spec.rb:93
spec/graphql/resolvers/merge_requests_resolver_spec.rb:105
spec/graphql/resolvers/merge_requests_resolver_spec.rb:113
spec/graphql/resolvers/merge_requests_resolver_spec.rb:121
spec/graphql/resolvers/merge_requests_resolver_spec.rb:129
spec/graphql/resolvers/merge_requests_resolver_spec.rb:137
spec/graphql/resolvers/merge_requests_resolver_spec.rb:145
spec/graphql/resolvers/merge_requests_resolver_spec.rb:156
spec/graphql/resolvers/merge_requests_resolver_spec.rb:162
spec/graphql/resolvers/merge_requests_resolver_spec.rb:174
spec/graphql/resolvers/merge_requests_resolver_spec.rb:180
spec/graphql/resolvers/merge_requests_resolver_spec.rb:188
spec/graphql/resolvers/merge_requests_resolver_spec.rb:194
spec/graphql/resolvers/merge_requests_resolver_spec.rb:204
spec/graphql/resolvers/merge_requests_resolver_spec.rb:213
spec/graphql/resolvers/merge_requests_resolver_spec.rb:217
spec/graphql/resolvers/merge_requests_resolver_spec.rb:228
spec/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:27
spec/graphql/resolvers/project_merge_requests_resolver_spec.rb:33
spec/graphql/resolvers/project_merge_requests_resolver_spec.rb:41
spec/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:427
spec/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:49
spec/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:61
spec/lib/gitlab/git/diff_spec.rb:296
spec/lib/gitlab/git/diff_spec.rb:302
spec/lib/gitlab/git/diff_spec.rb:308
spec/lib/gitlab/git/diff_spec.rb:318
spec/lib/gitlab/git/diff_spec.rb:324
spec/lib/gitlab/git/diff_spec.rb:330
spec/lib/gitlab/git/diff_spec.rb:354
-
spec/lib/gitlab/legacy_github_import/project_creator_spec.rb
spec/lib/gitlab/legacy_github_import/project_creator_spec.rb:18
spec/lib/gitlab/legacy_github_import/project_creator_spec.rb:60
-
spec/models/service_spec.rb
- !48804 (merged)spec/models/service_spec.rb:248
spec/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:1319
spec/requests/api/graphql/mutations/design_management/upload_spec.rb:33
ee/spec/requests/api/project_import_spec.rb:66
spec/requests/api/nuget_packages_spec.rb:170
-
spec/support/helpers/workhorse_helpers.rb:96
- !47791 (merged)spec/requests/lfs_http_spec.rb:1319
spec/requests/api/graphql/mutations/design_management/upload_spec.rb:33
ee/spec/requests/api/project_import_spec.rb:66
spec/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:330
spec/requests/api/merge_requests_spec.rb:1759
spec/requests/api/merge_request_approvals_spec.rb:36
spec/lib/gitlab/metrics/dashboard/cache_spec.rb:40
spec/requests/api/graphql/mutations/merge_requests/set_wip_spec.rb:45
ee/spec/requests/api/merge_requests_spec.rb:24
spec/controllers/projects_controller_spec.rb:109
spec/services/projects/unlink_fork_service_spec.rb:160
spec/requests/api/graphql/mutations/merge_requests/set_labels_spec.rb:57
spec/services/metrics/dashboard/default_embed_service_spec.rb:49
ee/spec/requests/api/project_import_spec.rb:66
spec/controllers/dashboard_controller_spec.rb:54
spec/services/metrics/dashboard/custom_dashboard_service_spec.rb:57
ee/spec/requests/api/merge_request_approvals_spec.rb:284
spec/requests/api/graphql/metrics/dashboard_query_spec.rb:54
Edited by Peter Leitzen