• Yorick Peterse's avatar
    Add Project.where_paths_in · 24920bc5
    Yorick Peterse authored
    This method can be used to find multiple projects for multiple paths.
    For example, take this snippet:
    
        Project.where_paths_in(%w{gitlab-org/gitlab-ce gitlab-org/gitlab-ee})
    
    This will return an ActiveRecord::Relation containing the GitLab CE and
    GitLab EE projects.
    
    This method takes care of matching rows both case-sensitively and
    case-insensitively where needed.
    
    Project.find_with_namespace in turn has been modified to use
    Project.where_paths_in without nuking any scoping (instead it uses
    reorder(nil)). This means that any default scopes (e.g. those used for
    "pending_delete" stay intact).
    
    The method Project.where_paths_in was added so the various Markdown
    filters can use a single query to grab all the projects referenced in a
    set of documents, something Project.find_with_namespace didn't allow.
    24920bc5
project.rb 31 KB