blob: c176a7a08c0ec5cb3f99b8085c39c5a6472f334c (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 | class LinePeriods
  def initialize
    @periods_by_line = Hash.new { |h,k| h[k] = [] }
  end
  def add(line_id, period)
    @periods_by_line[line_id] << period
  end
  def each(&block)
    @periods_by_line.each do |line_id, periods|
      yield line_id, periods
    end
  end
  def periods(line_id)
    @periods_by_line[line_id]
  end
  def self.from_metadatas(metadatas)
    line_periods = new
    metadatas.each do |metadata|
      metadata.line_ids.each do |line_id|
        metadata.periodes.each do |period|
          line_periods.add(line_id, period)
        end
      end
    end
    line_periods
  end
end
 |