Skip to content

New rubocop rule to avoid using `UploadedFile.from_params` directly

🌲 Context

By the past, we had several issues with UploadedFile.from_params.

Recent efforts were done to remove all the UploadedFile.from_params from the codebase (example: !38167 (merged))

The only allowed location to call this function is: multipart.rb and test specs.

Related issue: https://gitlab.com/gitlab-org/gitlab/-/issues/213289

🤔 What does this MR do?

It adds a new cop so that UploadedFile.from_params is not used. The message contains a link to the proper development documentation page.

The rubocop.yml config has been updated to properly exclude multipart.rb and the test specs.

Screenshots

Screenshot_2020-08-12_at_16.29.54

Running on the whole codebase

$ bundle exec rubocop . --only Gitlab/AvoidUploadedFileFromParams
......
[snip]
......
18307 files inspected, no offenses detected

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team
Edited by David Fernandez

Merge request reports