group_service.rb 563 字节
Newer Older
1 2
module Milestones
  class GroupService < Milestones::BaseService
3
    def initialize(project_milestones)
4 5 6
      @project_milestones = project_milestones.group_by(&:title)
    end

7
    def execute
8
      build(@project_milestones)
9 10
    end

11 12
    def milestone(title)
      if title
13 14
        group_milestone = @project_milestones[title].group_by(&:title)
        build(group_milestone).first
15 16 17 18 19
      else
        nil
      end
    end

M
Marin Jankovski 已提交
20
    private
21 22 23 24

    def build(milestone)
      milestone.map{ |title, milestones| GroupMilestone.new(title, milestones) }
    end
25 26
  end
end