gitlab-org--gitlab-foss/app/finders
Sean McGivern b3a588bcca Fix issuable state caching
We were including controller params in the cache key, so the key for the header
didn't match the one for the list itself!
2017-07-19 10:21:18 +01:00
..
concerns move CreatedAtFilter to concerns folder 2017-07-07 19:01:49 +02:00
README.md Set milestone on new issue when creating issue from index with milestone filter active. 2015-05-27 14:22:11 +02:00
access_requests_finder.rb Use Ability.allowed? instead of current_user.can? in AccessRequestsFinder 2016-09-28 08:46:59 +02:00
branches_finder.rb implements the basic filter functionality 2016-07-19 19:30:10 +01:00
contributed_projects_finder.rb Tweaks, refactoring, and specs 2016-03-20 21:04:07 +01:00
environments_finder.rb Revert "Enable Style/DotPosition" 2017-02-23 09:33:19 -06:00
events_finder.rb Enable Style/DotPosition Rubocop 👮 2017-06-21 13:48:12 +00:00
group_finder.rb Merge branch 'jej-group-name-disclosure' into 'security' 2017-03-29 19:18:38 -07:00
group_members_finder.rb Enable Style/DotPosition Rubocop 👮 2017-06-21 13:48:12 +00:00
group_projects_finder.rb Refactor GroupProjectsFinder#init_collection 2017-06-19 19:11:35 +02:00
groups_finder.rb Make the GroupFinder specs more strict 2017-06-15 08:46:34 +02:00
issuable_finder.rb Fix issuable state caching 2017-07-19 10:21:18 +01:00
issues_finder.rb Fix issuable state counter cache keys 2017-07-19 10:21:18 +01:00
joined_groups_finder.rb Address feedback 2016-03-22 00:09:20 +01:00
labels_finder.rb Hide archived project labels from group issue tracker 2017-06-30 16:22:00 -03:00
members_finder.rb Show members of parent groups on project members page 2017-03-09 10:23:57 +02:00
merge_requests_finder.rb Ability to filter merge requests by labels and milestones 2017-04-25 22:07:38 +02:00
milestones_finder.rb fix milestones finder failing spec 2017-07-07 19:21:00 -03:00
move_to_project_finder.rb Move to project dropdown with infinite scroll for better performance 2016-08-18 15:31:51 +02:00
notes_finder.rb Merge branch 'snippets-finder-visibility' into 'security' 2017-05-10 16:48:18 +02:00
personal_access_tokens_finder.rb apply codestyle and implementation changes to the respective feature code 2017-03-06 19:18:26 +00:00
personal_projects_finder.rb Tweaks, refactoring, and specs 2016-03-20 21:04:07 +01: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 constant as ALLOWED_INDEXED_COLUMNS 2017-05-03 02:11:51 +09:00
projects_finder.rb Add user projects API 2017-07-06 08:04:54 +03:00
snippets_finder.rb Merge branch 'snippets-finder-visibility' into 'security' 2017-05-10 16:48:18 +02:00
tags_finder.rb add specs for tags finder 2016-08-31 19:16:47 +01:00
todos_finder.rb Removes redundant pending delete checks 2017-06-28 17:51:05 +01:00
union_finder.rb Tweaks, refactoring, and specs 2016-03-20 21:04:07 +01:00
users_finder.rb refactor created at filter to use model scopes 2017-07-07 18:31:50 +02:00

README.md

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.