gitlab-org--gitlab-foss/app/finders
Yorick Peterse 7a233b37cd
Remove code for dynamically generating routes
This adds a database migration that creates routes for any projects and
namespaces that don't already have one. We also remove the runtime code
for dynamically creating routes, as this is no longer necessary.
2018-07-25 16:41:29 +02:00
..
admin Remove code for dynamically generating routes 2018-07-25 16:41:29 +02:00
concerns Port read_cross_project ability from EE 2018-02-22 17:11:36 +01:00
access_requests_finder.rb
autocomplete_users_finder.rb Added changelog for user search improvements 2018-02-22 18:55:36 +01:00
branches_finder.rb Add overview of branches and a filter for active/stale branches 2018-03-06 21:28:14 +09:00
clusters_finder.rb Use attr_reader instead of instance variables 2017-11-28 14:39:18 +01:00
contributed_projects_finder.rb
environments_finder.rb
events_finder.rb Port read_cross_project ability from EE 2018-02-22 17:11:36 +01:00
fork_projects_finder.rb Introduce ForkProjectsFinder class 2017-09-20 08:27:16 +10:00
group_descendants_finder.rb Revert "Don't include projects shared as group-descendants" 2018-04-18 17:15:52 +02:00
group_finder.rb
group_members_finder.rb Backport of "Add assignee lists to boards" 2018-06-07 20:54:24 +00:00
group_projects_finder.rb Reduce queries in GroupProjectsFinder 2018-05-28 13:52:37 +02:00
groups_finder.rb Add min_access_level filter to groups API 2018-07-23 20:57:50 +02:00
issuable_finder.rb Add locked state to merge request API 2018-06-28 07:12:00 -07:00
issues_finder.rb Simplify issuable finder queries 2018-06-06 12:29:45 +01:00
joined_groups_finder.rb
labels_finder.rb Allow assigning and filtering issuables by ancestor group labels 2018-04-04 15:40:29 +00:00
members_finder.rb Backport of "Add assignee lists to boards" 2018-06-07 20:54:24 +00:00
merge_request_target_project_finder.rb Prevent new merge requests for archived projects 2018-04-11 10:51:14 +02:00
merge_requests_finder.rb Add locked state to merge request API 2018-06-28 07:12:00 -07:00
milestones_finder.rb Port read_cross_project ability from EE 2018-02-22 17:11:36 +01:00
move_to_project_finder.rb Removes default scope from sortable 2017-09-07 13:01:59 +01:00
notes_finder.rb Changes tab VUE refactoring 2018-06-21 12:22:40 +00:00
personal_access_tokens_finder.rb Adds Rubocop rule for line break after guard clause 2017-11-16 17:58:29 +01:00
personal_projects_finder.rb Add an option to have a private profile on GitLab 2018-07-24 12:46:19 +00:00
pipeline_schedules_finder.rb Add Pipeline Schedules that supersedes experimental Trigger Schedule 2017-05-07 22:35:56 +00:00
pipelines_finder.rb Add pipeline lists to GraphQL 2018-07-04 10:53:39 +02:00
projects_finder.rb Add min_access_level filter to projects API 2018-07-23 20:57:50 +02:00
README.md
runner_jobs_finder.rb Refactorize jobs finding logic 2017-11-28 00:36:50 +01:00
snippets_finder.rb [Rails5] Fix snippets_finder arel queries 2018-06-14 11:20:11 +11:00
tags_finder.rb
todos_finder.rb Revert "Merge branch 'ee-5481-epic-todos' into 'master'" 2018-07-11 18:33:24 +02:00
union_finder.rb
user_recent_events_finder.rb Add an option to have a private profile on GitLab 2018-07-24 12:46:19 +00:00
users_finder.rb Add 2FA filter to users API for admins only 2018-04-23 11:54:45 +03:00

Finders

This type of classes responsible for collection items based on different conditions. To prevent lookup methods in models like this:

class Project
  def issues_for_user_filtered_by(user, filter)
    # A lot of logic not related to project model itself
  end
end

issues = project.issues_for_user_filtered_by(user, params)

Better use this:

issues = IssuesFinder.new(project, user, filter).execute

It will help keep models thiner.