• Yorick Peterse's avatar
    Move Project#rename_repo to a service class · 4b9c17f1
    Yorick Peterse authored
    This moves the logic of Project#rename_repo and all methods _only_ used
    by this method into a new service class: Projects::AfterRenameService.
    By moving this code into a separate service class we can more easily
    refactor it, and we also get rid of some RuboCop "disable" statements
    automatically.
    
    During the refactoring of this code, I removed most of the explicit
    logging using Gitlab::AppLogger. The data that was logged would not be
    useful when debugging renaming issues, as it does not add any value on
    top of data provided by users.
    
    I also removed a variety of comments that either mentioned something the
    code does in literal form, or contained various grammatical errors.
    Instead we now resort to more clearly named methods, removing the need
    for code comments.
    
    This method was chosen based on analysis in
    https://gitlab.com/gitlab-org/release/framework/issues/28. In this issue
    we determined this method has seen a total of 293 lines being changed in
    it. We also noticed that RuboCop determined the ABC size
    (https://www.softwarerenovation.com/ABCMetric.pdf) was too great.
    4b9c17f1
project_spec.rb 120 KB