gitlab-org--gitlab-foss/app/services/milestones/group_service.rb

27 lines
563 B
Ruby
Raw Normal View History

2014-06-25 14:19:03 +00:00
module Milestones
class GroupService < Milestones::BaseService
def initialize(project_milestones)
2014-06-25 14:19:03 +00:00
@project_milestones = project_milestones.group_by(&:title)
end
def execute
build(@project_milestones)
2014-06-25 14:19:03 +00:00
end
def milestone(title)
if title
group_milestone = @project_milestones[title].group_by(&:title)
build(group_milestone).first
else
nil
end
end
2014-06-30 11:27:17 +00:00
private
def build(milestone)
milestone.map{ |title, milestones| GroupMilestone.new(title, milestones) }
end
2014-06-25 14:19:03 +00:00
end
end