Files
gitlabhq/app/finders
Dmitriy Zaporozhets 8dcffdcdc1 Merge branch 'master' of dev.gitlab.org:gitlab/gitlabhq into ce-to-ee
Conflicts:
	app/helpers/oauth_helper.rb
	app/helpers/projects_helper.rb
	app/models/service.rb
	app/views/devise/shared/_signin_box.html.haml
	config/gitlab.yml.example
	db/schema.rb
	doc/integration/github.md
	features/project/service.feature
	lib/gitlab/github_import/client.rb
2015-03-02 16:10:12 -08:00
..
2015-02-06 10:21:48 -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.