gitlab-org--gitlab-foss/app/finders
Dominik Sander e6ee8d0ebe Group milestones by title in the dashboard and all other issue views
This groups milestones by title for issue views like it has been done for
the milestone dashboard/project overview. Before milestones with the
same title would show up multiple times in the filter dropdown and one could
only filter per project and milestone. Now the milestone filter is based
on the title of the milestone, i.e. all issues marked with the same
milestone title are shown.
2015-05-01 01:12:58 +02:00
..
groups_finder.rb Add GroupFinder for collection all groups user has access to 2014-06-05 20:36:59 +03:00
issuable_finder.rb Group milestones by title in the dashboard and all other issue views 2015-05-01 01:12:58 +02:00
issues_finder.rb Refactor finders. Prevent circular dependency error 2014-09-02 15:28:27 +03:00
merge_requests_finder.rb Refactor finders. Prevent circular dependency error 2014-09-02 15:28:27 +03:00
notes_finder.rb Add index on order columns 2015-02-06 10:21:48 -08:00
projects_finder.rb Fix finder and tests for new membership models 2014-09-15 16:45:28 +03:00
README.md Improve formatting of app/finders/README.md 2014-10-07 22:39:45 +02:00
snippets_finder.rb Rubocop: indentation fixes Yay!!! 2015-02-02 21:59:28 -08:00
trending_projects_finder.rb Fix trending projects ordering 2015-02-18 22:23:24 -08: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.execute(project, user, filter)

It will help keep models thiner.