module Skeleton
Skeleton
class
-
create
-
create_assets_dir_and_files
-
copyfile
Public Class Methods
copyfile(source, dest)
click to toggle source
Copy file @param source (String) Source file @param dest (String) Dest file
# File lib/teuton/project/skeleton.rb, line 70 def self.copyfile(source, dest) if File.exist? dest puts "* Exists file! => #{Rainbow(dest).yellow}" else puts "* File not found! => #{Rainbow(source).yellow}" unless File.exist? source begin FileUtils.cp(source, dest) puts "* Create file => #{Rainbow(dest).green}" rescue StandardError puts "* Create file ERROR => #{Rainbow(dest).red}" end end end
create(project_dir)
click to toggle source
Create teuton project skeleton @param project_dir (String)
# File lib/teuton/project/skeleton.rb, line 17 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) end
create_dir(dirpath)
click to toggle source
Create dir @param dirpath (String)
# File lib/teuton/project/skeleton.rb, line 46 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)
click to toggle source
Create dirs @param args (Array)
# File lib/teuton/project/skeleton.rb, line 62 def self.create_dirs(*args) args.each { |arg| create_dir arg } end
create_main_dir_and_files(project_dir, source_basedir)
click to toggle source
Create main dir and files @param project_dir (String) @param source_basedir (String)
# File lib/teuton/project/skeleton.rb, line 29 def self.create_main_dir_and_files(project_dir, source_basedir) # Directory and files: Ruby script, Configfile, gitignore items = [ { source: 'files/config.yaml', target: 'config.yaml' }, { source: 'files/start.rb', target: 'start.rb' } # { source: '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