def run
      unless !@valid_name || File.exists?(@project_name) || File.directory?(@project_name)
        $stdout.puts "Creating goliath application under the directory #{@project_name}"
        FileUtils.mkdir @project_name
        
        create_base_dirs
        copy_files_to_target
        setup_api_module
        copy_files_to_dir 'application.rb','config'
        copy_files_to_dir 'database.yml','config'
        $stdout.puts "\e[1;32m \trun\e[0m\tbundle install"
        Dir.chdir("#{@project_name}")
        system("bundle install")
      else 
        unless !@valid_name
          $stdout.puts "\e[1;31mError:\e[0m The directory #{@project_name} already exists, aborting. Maybe move it out of the way before continuing."
        end
      end
    end
def run
      unless !@valid_name || File.exists?(@project_name) || File.directory?(@project_name)
        $stdout.puts "Creating goliath application under the directory #{@project_name}"
        FileUtils.mkdir @project_name
        
        create_base_dirs
        copy_files_to_target
        setup_api_module
        copy_files_to_dir 'application.rb','config'
        copy_files_to_dir 'database.yml','config'
        $stdout.puts "\e[1;32m \trun\e[0m\tbundle install"
        Dir.chdir("#{@project_name}")
        system("bundle install")
      else 
        unless !@valid_name
          $stdout.puts "\e[1;31mError:\e[0m The directory #{@project_name} already exists, aborting. Maybe move it out of the way before continuing."
        end
      end
    end
=begin
Initiliazes the following attributes : 
    project_name (application name), valid_name (boolean value for validation), target_dir (new application path)
    and gem_path (path at which the gem is installed)
=end
=begin
Creates a basic folder structure with required files and configuration setup.
=end