2018-07-25 09:30:33 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2017-09-28 13:34:09 +00:00
|
|
|
class ForkNetwork < ActiveRecord::Base
|
2017-09-28 14:38:12 +00:00
|
|
|
belongs_to :root_project, class_name: 'Project'
|
|
|
|
has_many :fork_network_members
|
2018-04-18 13:41:42 +00:00
|
|
|
has_many :projects, through: :fork_network_members
|
2017-09-28 14:38:12 +00:00
|
|
|
|
|
|
|
after_create :add_root_as_member, if: :root_project
|
|
|
|
|
|
|
|
def add_root_as_member
|
|
|
|
projects << root_project
|
|
|
|
end
|
2017-10-03 15:06:09 +00:00
|
|
|
|
|
|
|
def find_forks_in(other_projects)
|
|
|
|
projects.where(id: other_projects)
|
|
|
|
end
|
2017-11-03 10:31:29 +00:00
|
|
|
|
|
|
|
def merge_requests
|
|
|
|
MergeRequest.where(target_project: projects)
|
|
|
|
end
|
2017-09-28 13:34:09 +00:00
|
|
|
end
|