1. 20 Aug, 2018 1 commit
    • Yorick Peterse's avatar
      Refactor AutocompleteController · 6f3c4901
      Yorick Peterse authored
      This refactors the AutocompleteController according to the guidelines
      and boundaries discussed in
      https://gitlab.com/gitlab-org/gitlab-ce/issues/49653. Specifically,
      ActiveRecord logic is moved to different finders, which are then used in
      the controller. View logic in turn is moved to presenters, instead of
      directly using ActiveRecord's "to_json" method.
      
      The finder MoveToProjectFinder is also adjusted according to the
      abstraction guidelines and boundaries, resulting in a much more simple
      finder.
      
      By using finders (and other abstractions) more actively, we can push a
      lot of logic out of the controller. We also remove the need for various
      "before_action" hooks, though this could be achieved without using
      finders as well.
      
      The various finders related to AutcompleteController have also been
      moved into a namespace. This removes the need for calling everything
      "AutocompleteSmurfFinder", instead you can use
      "Autocomplete::SmurfFinder".
      6f3c4901