Class: APTDistsMerge::Merger

Inherits:
Object
  • Object
show all
Defined in:
lib/apt-dists-merge/merger.rb

Instance Method Summary collapse

Constructor Details

#initialize(base_dir, incoming_dir, merged_dir) ⇒ Merger

Returns a new instance of Merger.



5
6
7
8
9
# File 'lib/apt-dists-merge/merger.rb', line 5

def initialize(base_dir, incoming_dir, merged_dir)
  @base_dir = base_dir
  @incoming_dir = incoming_dir
  @merged_dir = merged_dir
end

Instance Method Details

#mergeObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/apt-dists-merge/merger.rb', line 11

def merge
  unless File.exist?(@base_dir)
    FileUtils.rm_rf(@merged_dir)
    FileUtils.mkdir_p(@merged_dir)
    FileUtils.cp_r(Dir.glob("#{@incoming_dir}/*"), @merged_dir)
    return true
  end

  components = (detect_components(@base_dir) |
                detect_components(@incoming_dir))
  components.each do |component|
    return false unless merge_component(component)
  end
  return false unless merge_release
  true
end