lib/rubygb/cli.rb in rubygb-0.1.0 vs lib/rubygb/cli.rb in rubygb-0.2.0

- old
+ new

@@ -1,11 +1,35 @@ require 'thor' - +require 'fileutils' +require 'pry-byebug' module Rubygb class CLI < Thor - desc 'build FILENAME', 'attempt to assemble, link and fix FILENAME and create a gb rom from it' + desc 'build FILENAME', 'attempt to assemble, link + fix FILENAME and create a gb rom from it' option :no_fix, :type => :boolean def build filename Rubygb.build filename, options + end + + desc 'init PROJECT_NAME', 'create a new gameboy project at the location' + def init project_name + puts "Creating new project at #{File.expand_path project_name}" + raise "Project already exists at #{File.expand_path project_name}!"if Dir.exists? project_name + + Dir.mkdir project_name + galp_dest = File.join(project_name,"lib") + Dir.mkdir galp_dest + galp_lib = File.expand_path(File.join(File.dirname(__FILE__),"..","galp")) + + Dir.glob(File.join(galp_lib,"*")) do |file| + puts "Copying #{File.basename(file)}..." + FileUtils.copy file, galp_dest + end + + template = Template.basic(project_name) + filename = File.join(project_name,"#{project_name}.s") + puts "Generating #{filename}..." + File.open(filename,"w") {|f| f << template} + + puts "Done!" end end end