class APTDistsMerge::CommandLine
Public Class Methods
new(output=nil)
click to toggle source
# File lib/apt-dists-merge/command-line.rb, line 7 def initialize(output=nil) @base_dir = nil @incomping_dir = nil @output_dir = nil @output = output || "-" end
Public Instance Methods
run(args)
click to toggle source
# File lib/apt-dists-merge/command-line.rb, line 14 def run(args) catch do |tag| open_output do |output| parse_args(args, output, tag) process end end end
Private Instance Methods
open_output() { |$stdout| ... }
click to toggle source
# File lib/apt-dists-merge/command-line.rb, line 24 def open_output(&block) case @output when "-" yield($stdout) when String File.open(@output, "w", &block) else yield(@output) end end
parse_args(args, output, tag)
click to toggle source
# File lib/apt-dists-merge/command-line.rb, line 35 def parse_args(args, output, tag) parser = OptionParser.new parser.banner += " BASE_DIR INCOMING_DIR OUTPUT_DIR" parser.on("--version", "Show version and exit") do output.puts(VERSION) throw(tag, true) end parser.on("--help", "Show this message and exit") do output.puts(parser.help) throw(tag, true) end args = parser.parse!(args.dup) if args.size != 3 $stderr.puts(parser.help) throw(tag, false) end @base_dir = args[0] @incoming_dir = args[1] @output_dir = args[2] end
process()
click to toggle source
# File lib/apt-dists-merge/command-line.rb, line 58 def process merger = Merger.new(@base_dir, @incoming_dir, @output_dir) merger.merge end