class Aocli::Commands::CreateNewDay
Public Instance Methods
execute()
click to toggle source
# File lib/aocli/commands/create_new_day.rb, line 7 def execute base_dir = create_directories create_files(base_dir) end
Private Instance Methods
create_day_dir(base_dir, day)
click to toggle source
# File lib/aocli/commands/create_new_day.rb, line 39 def create_day_dir(base_dir, day) day_dir = File.join(base_dir, day.to_s) return day_dir if File.directory?(day_dir) Dir.mkdir(day_dir) day_dir end
create_directories()
click to toggle source
# File lib/aocli/commands/create_new_day.rb, line 14 def create_directories base_dir = Dir.pwd year_dir = create_year_dir(base_dir, year) create_day_dir(year_dir, day) end
create_files(base_dir)
click to toggle source
# File lib/aocli/commands/create_new_day.rb, line 20 def create_files(base_dir) problem_html = Aocli::Adapter.fetch_problem_html(year: year, day: day) markdown = Kramdown::Document.new(problem_html, html_to_native: true).to_kramdown File.write(File.join(base_dir, "problem.md"), markdown) File.write(File.join(base_dir, "part_one.rb"), solution_content(base_dir)) File.write(File.join(base_dir, "part_two.rb"), solution_content(base_dir)) File.write(File.join(base_dir, "inputs.txt"), Aocli::Adapter.fetch_input(year: year, day: day)) File.write(File.join(base_dir, "test_inputs.txt"), "") end
create_year_dir(base_dir, year)
click to toggle source
# File lib/aocli/commands/create_new_day.rb, line 31 def create_year_dir(base_dir, year) year_dir = File.join(base_dir, year.to_s) return year_dir if File.directory?(year_dir) Dir.mkdir(year_dir) year_dir end