class AocRb::Cli
Public Instance Methods
new(name)
click to toggle source
# File lib/aoc_rb/cli.rb, line 12 def new(name) project_dir = File.join(Dir.getwd, name) if File.exist?(project_dir) puts "ERROR: #{project_dir} already exists!" exit 0 end bin_dir = File.join(project_dir, "bin") bin_path = File.join(bin_dir, "aoc") bin_template = File.join(File.dirname(__FILE__), "../../templates/bin/aoc") FileUtils.mkdir_p bin_dir File.open(bin_path, "w") { |f| f.write(File.read(bin_template)) } spec_dir = File.join(project_dir, "spec") spec_helper_path = File.join(spec_dir, "spec_helper.rb") spec_helper_template = File.join(File.dirname(__FILE__), "../../templates/spec/spec_helper.rb") FileUtils.mkdir_p spec_dir File.open(spec_helper_path, "w") { |f| f.write(File.read(spec_helper_template)) } env_template_path = File.join(project_dir, ".env-template") env_template = File.join(File.dirname(__FILE__), "../../templates/.env-template") File.open(env_template_path, "w") { |f| f.write(File.read(env_template)) } gemfile_dst = File.join(project_dir, "Gemfile") gemfile_src = File.join(File.dirname(__FILE__), "../../templates/Gemfile") File.open(gemfile_dst, "w") { |f| f.write(File.read(gemfile_src))} end