Sha256: cb51c6041af87f429057f3f04b0014b3089fddbe0c97a8e01ff7d5c4922d17f7
Contents?: true
Size: 1.36 KB
Versions: 1
Compression:
Stored size: 1.36 KB
Contents
require 'franky/file_handler' require 'thor' require 'colorize' module Franky class Base < Thor default_task :new desc "new [dir_name] [options]", "creates a project with minimal setup" option :minimal, type: :boolean, default: false, aliases: "-m" def new dir_name=nil unless dir_name_given?(dir_name) dir_name = specify_dir end dir_name = dir_name.gsub("\n", "") return unless dir_valid?(dir_name) if options[:minimal] FileHandler.new.minimal_template(dir_name) else FileHandler.new.default_template(dir_name) end end # 將--version和-v指令轉入__print_version # prefix底線是為了避免變成一般的thor command map %w[--version -v] => :__print_version desc "--version, -v", "show version" def __print_version puts Franky::VERSION end private def dir_name_given?(dir_name) dir_name == nil ? false : true end def specify_dir print "specify a directroy name: " # 只要command有帶參數,Ruby預設gets會去抓第一個變數當做檔案名稱,所以要指明$stdin.gets當做user input dir_name = $stdin.gets dir_name end def dir_valid?(dir_name) if dir_name == "" puts "No directory name is given" return false end if Dir.exist? dir_name puts "'#{dir_name}' already exists. Please rename.".red return false end true end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
franky-1.0.0 | lib/franky/base.rb |