debian-mirror-gitlab/app/finders
2023-07-09 08:55:56 +05:30
..
achievements New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
admin
alert_management
analytics/cycle_analytics New upstream version 13.12.3+ds1 2021-06-08 01:23:25 +05:30
autocomplete New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
boards
bulk_imports New upstream version 15.9.2+ds1 2023-04-23 21:23:45 +05:30
ci New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
clusters New upstream version 16.0.7+ds1 2023-07-09 08:55:56 +05:30
concerns New upstream version 16.0.7+ds1 2023-07-09 08:55:56 +05:30
crm
data_transfer New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
database
deploy_tokens
design_management
environments New upstream version 15.9.7+ds1 2023-05-08 21:46:49 +05:30
groups New upstream version 16.0.7+ds1 2023-07-09 08:55:56 +05:30
incident_management
issuable_finder New upstream version 15.8.4+ds1 2023-03-17 16:20:25 +05:30
issuables New upstream version 15.8.4+ds1 2023-03-17 16:20:25 +05:30
issues_finder New upstream version 15.8.4+ds1 2023-03-17 16:20:25 +05:30
merge_request
merge_requests
merge_requests_finder New upstream version 16.0.7+ds1 2023-07-09 08:55:56 +05:30
metrics
namespaces New upstream version 15.9.2+ds1 2023-04-23 21:23:45 +05:30
packages New upstream version 16.0.7+ds1 2023-07-09 08:55:56 +05:30
projects New upstream version 15.9.2+ds1 2023-04-23 21:23:45 +05:30
releases
repositories
security New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
terraform
work_items New upstream version 15.9.2+ds1 2023-04-23 21:23:45 +05:30
abuse_reports_finder.rb New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
access_requests_finder.rb New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
applications_finder.rb
award_emojis_finder.rb
branches_finder.rb New upstream version 15.8.4+ds1 2023-03-17 16:20:25 +05:30
cluster_ancestors_finder.rb
clusters_finder.rb
container_repositories_finder.rb
context_commits_finder.rb New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
contributed_projects_finder.rb
deployments_finder.rb New upstream version 16.0.7+ds1 2023-07-09 08:55:56 +05:30
events_finder.rb
feature_flags_finder.rb
feature_flags_user_lists_finder.rb
fork_projects_finder.rb
fork_targets_finder.rb New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
git_refs_finder.rb New upstream version 15.8.4+ds1 2023-03-17 16:20:25 +05:30
group_descendants_finder.rb New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
group_finder.rb
group_members_finder.rb New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
group_projects_finder.rb
groups_finder.rb New upstream version 15.9.2+ds1 2023-04-23 21:23:45 +05:30
issuable_finder.rb New upstream version 15.10.7+ds1 2023-05-27 22:25:52 +05:30
issues_finder.rb New upstream version 15.8.4+ds1 2023-03-17 16:20:25 +05:30
joined_groups_finder.rb
keys_finder.rb
labels_finder.rb New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
lfs_pointers_finder.rb
license_template_finder.rb
members_finder.rb New upstream version 16.0.7+ds1 2023-07-09 08:55:56 +05:30
merge_request_target_project_finder.rb New upstream version 15.9.2+ds1 2023-04-23 21:23:45 +05:30
merge_requests_finder.rb New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
milestones_finder.rb New upstream version 15.10.7+ds1 2023-05-27 22:25:52 +05:30
notes_finder.rb New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
pending_todos_finder.rb New upstream version 16.0.7+ds1 2023-07-09 08:55:56 +05:30
personal_access_tokens_finder.rb
personal_projects_finder.rb
projects_finder.rb New upstream version 15.11.6+ds1 2023-06-20 00:43:36 +05:30
prometheus_metrics_finder.rb
protected_branches_finder.rb New upstream version 15.9.2+ds1 2023-04-23 21:23:45 +05:30
README.md
releases_finder.rb
resource_milestone_event_finder.rb
resource_state_event_finder.rb
sentry_issue_finder.rb
snippets_finder.rb New upstream version 16.0.7+ds1 2023-07-09 08:55:56 +05:30
starred_projects_finder.rb
tags_finder.rb
template_finder.rb New upstream version 16.0.7+ds1 2023-07-09 08:55:56 +05:30
todos_finder.rb New upstream version 15.9.2+ds1 2023-04-23 21:23:45 +05:30
union_finder.rb
uploader_finder.rb
user_finder.rb
user_group_notification_settings_finder.rb
user_groups_counter.rb
user_recent_events_finder.rb
users_finder.rb
users_star_projects_finder.rb

Finders

These types of classes are responsible for retrieving collection items based on different conditions. They prevent lookup methods in models like this:

class Project < ApplicationRecord
  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)

The GitLab approach is to use a Finder:

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

It will help keep models thinner.