Sha256: a000305ffae680fa1bcaa0a93c9a0c2b0a4312aa0448757bc48f17b4891ebfa2
Contents?: true
Size: 1.3 KB
Versions: 2
Compression:
Stored size: 1.3 KB
Contents
require "fileutils" require "kickster/version" require "pathname" require "thor" module Kickster class Generator < Thor map ['-v', '--version'] => :version desc 'new', 'Create new folder with the Kickster template' method_options :path => :string, :force => :boolean def new(name) if kickster_files_already_exist?(name) && !options[:force] puts "Folder already exist, use --force to overwrite." else install_files(name) puts "Kickster template folder successfully created!" end end desc 'version', 'Show Kickster version' def version say "kickster-#{Kickster::VERSION}" end private def kickster_files_already_exist?(name) install_path(name).exist? end def install_path(name) @install_path ||= if options[:path] Pathname.new(File.join(options[:path], name)) else Pathname.new(name) end end def install_files(name) FileUtils.mkdir_p(install_path(name)) FileUtils.cp_r(template_files, install_path(name)) end def template_files Dir["#{template_directory}/."] end def template_directory File.join(top_level_directory, "template") end def top_level_directory File.dirname(File.dirname(File.dirname(__FILE__))) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
kickster-0.1.2 | lib/kickster/generator.rb |
kickster-0.1.1 | lib/kickster/generator.rb |