diff --git a/.gitignore b/.gitignore index d6aa672..81ed407 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,4 @@ build-iPhoneSimulator/ # Used by RuboCop. Remote config files pulled in from inherit_from directive. # .rubocop-https?--* +cookie.txt \ No newline at end of file diff --git a/aocinit.rb b/aocinit.rb new file mode 100644 index 0000000..1dce0b3 --- /dev/null +++ b/aocinit.rb @@ -0,0 +1,30 @@ +#!/bin/env ruby +require 'optparse' +require 'httparty' + +options = {} +OptionParser.new do |opts| + opts.banner = 'aocinit.rb --help' + opts.on('-y', '--year year', 'AoC year') do |year| + options[:year] = year + end + opts.on('-d', '--day day', 'AoC day') do |day| + options[:day] = day + end + opts.on('-c', '--cookie-file cookie', 'File containing your AoC cookie') do |cookie| + options[:cookie] = cookie + end +end.parse! + +url = "https://adventofcode.com/#{options[:year]}/day/#{options[:day]}/input" +options[:day] = '0' + options[:day] if options[:day].to_i < 10 +newdir = "./day#{options[:day]}" +cookie = File.read("./#{options[:cookie]}") +@options = { headers: { 'Cookie' => "session=#{cookie}" } } +input = HTTParty.get(url, @options) + +abort 'Day already initiated.' if Dir.exist?(newdir) +Dir.mkdir(newdir) +Dir.chdir(newdir) +File.write('./input', input) +File.write('./solution.rb', '#!/bin/env ruby')