2022/common.rb

49 lines
798 B
Ruby

class Input
FILE = 'input'
def initialize(directory, file = nil)
@filename = "#{directory}/#{file || FILE}"
end
def readlines
File.readlines(@filename).reject { |line| line.start_with?('#') }
end
end
class Day
def self.run
new.run
end
def part1
end
def part2
end
def run
puts "=== Part 1 ==="
puts part1
puts "=== Part 2 ==="
puts part2
end
private
def filename
"#{File.dirname($PROGRAM_NAME)}/input"
end
def input
@input ||= if File.exist?(filename)
File.readlines(filename).reject { |line| line.start_with?('#') }.map(&:chomp)
else
INPUT
end
end
def stdin
@stdin ||= ARGF.readlines.reject { |line| line.start_with? "#" }.map(&:chomp)
end
end