Class: GoogleCodeJam::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/googlecodejam/runner.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Runner

Returns a new instance of Runner.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/googlecodejam/runner.rb', line 4

def initialize(options={})
  instance = self.initialize_from_path(options[:source])

  input = open(options[:input]).read
  options[:output] ||= options[:input].gsub('.in', ".out")

  num, *lines = input.split("\n")
  output = lines.each_with_index.inject("") do |r, (n, i)|
    begin
      r + (i+1==1 ? "" : "\n") + "Case ##{i+1}: #{instance.run(n)}"
    rescue => e
      puts e.backtrace
      raise "Line: #{n.inspect}"
    end
  end.strip

  File.open(options[:output], 'w+') {|f| f.write(output) }
  options
end