Module: ProjectCreator
- Defined in:
- lib/teuton/project/project_creator.rb
Overview
Project#create
- create
- create_main_dir_and_files
- create_assets_dir_and_files
- create_dir
- create_dirs
- copyfile
Class Method Summary collapse
- .copyfile(target, dest) ⇒ Object
- .create(project_dir) ⇒ Object
- .create_assets_dir_and_files(project_dir, source_basedir) ⇒ Object
- .create_dir(dirpath) ⇒ Object
- .create_dirs(*args) ⇒ Object
- .create_main_dir_and_files(project_dir, source_basedir) ⇒ Object
Class Method Details
.copyfile(target, dest) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/teuton/project/project_creator.rb', line 67 def self.copyfile(target, dest) if File.exist? dest puts "* Exists file! => #{Rainbow(dest).yellow}" else puts "* File not found! => #{Rainbow(target).yellow}" unless File.exist? target begin FileUtils.cp(target, dest) puts "* Create file => #{Rainbow(dest).green}" rescue StandardError puts "* Create file ERROR => #{Rainbow(dest).red}" end end end |
.create(project_dir) ⇒ Object
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/teuton/project/project_creator.rb', line 14 def self.create(project_dir) project_name = File.basename(project_dir) puts "\n[INFO] Creating #{Rainbow(project_name).bright} project skeleton" source_basedir = File.join(File.dirname(__FILE__), '../..') create_dir project_dir create_main_dir_and_files(project_dir, source_basedir) create_assets_dir_and_files(project_dir, source_basedir) end |
.create_assets_dir_and_files(project_dir, source_basedir) ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/teuton/project/project_creator.rb', line 40 def self.create_assets_dir_and_files(project_dir, source_basedir) # Assets Directory and files project_assets_dir = File.join(project_dir, 'assets') create_dir project_assets_dir # source = File.join(source_basedir, 'lib/files/README.md') # target = File.join(project_dir, 'README.md') # copyfile(source, target) # README.md puts '' end |
.create_dir(dirpath) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/teuton/project/project_creator.rb', line 50 def self.create_dir(dirpath) if Dir.exist? dirpath puts "* Exists dir! => #{Rainbow(dirpath).yellow}" else begin FileUtils.mkdir_p(dirpath) puts "* Create dir => #{Rainbow(dirpath).green}" rescue StandardError puts "* Create dir ERROR => #{Rainbow(dirpath).red}" end end end |
.create_dirs(*args) ⇒ Object
63 64 65 |
# File 'lib/teuton/project/project_creator.rb', line 63 def self.create_dirs(*args) args.each { |arg| create_dir arg } end |
.create_main_dir_and_files(project_dir, source_basedir) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/teuton/project/project_creator.rb', line 25 def self.create_main_dir_and_files(project_dir, source_basedir) # Directory and files: Ruby script, Configfile, gitignore items = [ { source: 'teuton/files/config.yaml', target: 'config.yaml' }, { source: 'teuton/files/start.rb', target: 'start.rb' }, { source: 'teuton/files/README.md', target: 'README.md' }, { source: 'teuton/files/gitignore', target: '.gitignore' } ] items.each do |item| source = File.join(source_basedir, item[:source]) target = File.join(project_dir, item[:target]) copyfile(source, target) end end |