Class: Arb::Cli::WorkingDirectory
- Inherits:
-
Object
- Object
- Arb::Cli::WorkingDirectory
- Defined in:
- lib/arb/cli/shared/working_directory.rb
Constant Summary collapse
- FILES =
{ ".gitignore" => <<~END, ".ruby-version" => "3.3.0\n", "Gemfile" => <<~END, File.join("spec", "spec_helper.rb") => <<~END require "debug" Dir[File.join(__dir__, "..", "src", "**", "*.rb")].each do |file| require file end END }
- ENV_KEYS =
["EDITOR_COMMAND", "AOC_COOKIE"]
- DEFAULT_EDITOR_COMMAND =
"code"
Class Method Summary collapse
Class Method Details
.prepare! ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/arb/cli/shared/working_directory.rb', line 30 def self.prepare! files_created = [] existing_dotenv = Dotenv.parse(".env") unless ENV_KEYS.all? { existing_dotenv.has_key?(it) } create_dotenv!(existing_dotenv) files_created << :dotenv end Dotenv.load Dotenv.require_keys(*ENV_KEYS) files_created += create_other_files! if files_created.any? puts "✅ Initial files created and committed to a new Git repository." puts end end |
.refresh_aoc_cookie! ⇒ Object
49 50 51 52 53 54 55 56 |
# File 'lib/arb/cli/shared/working_directory.rb', line 49 def self. print "Uh oh, your Advent of Code session cookie has expired or was " \ "incorrectly entered. " ENV["AOC_COOKIE"] = new_dotenv = Dotenv.parse(".env").dup new_dotenv["AOC_COOKIE"] = ENV["AOC_COOKIE"] File.write(".env", generate_dotenv(new_dotenv)) end |