6f3c490107
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". |
||
---|---|---|
.. | ||
admin | ||
autocomplete | ||
concerns | ||
access_requests_finder_spec.rb | ||
awarded_emoji_finder_spec.rb | ||
branches_finder_spec.rb | ||
clusters_finder_spec.rb | ||
contributed_projects_finder_spec.rb | ||
environments_finder_spec.rb | ||
events_finder_spec.rb | ||
fork_projects_finder_spec.rb | ||
group_descendants_finder_spec.rb | ||
group_members_finder_spec.rb | ||
group_projects_finder_spec.rb | ||
groups_finder_spec.rb | ||
issues_finder_spec.rb | ||
joined_groups_finder_spec.rb | ||
labels_finder_spec.rb | ||
license_template_finder_spec.rb | ||
members_finder_spec.rb | ||
merge_request_target_project_finder_spec.rb | ||
merge_requests_finder_spec.rb | ||
milestones_finder_spec.rb | ||
notes_finder_spec.rb | ||
personal_access_tokens_finder_spec.rb | ||
personal_projects_finder_spec.rb | ||
pipeline_schedules_finder_spec.rb | ||
pipelines_finder_spec.rb | ||
projects_finder_spec.rb | ||
runner_jobs_finder_spec.rb | ||
snippets_finder_spec.rb | ||
tags_finder_spec.rb | ||
todos_finder_spec.rb | ||
user_finder_spec.rb | ||
user_recent_events_finder_spec.rb | ||
users_finder_spec.rb |