module Dextery::Generator
Public Class Methods
manifest(args, options = {})
click to toggle source
# File lib/dextery/generator.rb, line 3 def self.manifest(args, options = {}) raise ArgumentError.new("You must specify a path") if args.empty? new_blog_path = File.expand_path(args.join(" "), Dir.pwd) if preserve_source_location?(new_blog_path, options) Dextery.logger.error "Conflict: #{new_blog_path} exists and is not empty." else clean_directory(new_blog_path) if options[:force] copy_bootstrap(new_blog_path) notify_success end end
Private Class Methods
clean_directory(path)
click to toggle source
# File lib/dextery/generator.rb, line 21 def self.clean_directory(path) Dextery.logger.info "Cleanup directory #{path}.. Start" system("rm -rf #{path}") Dextery.logger.info "Cleanup directory #{path}.. Complete" end
copy_bootstrap(path)
click to toggle source
# File lib/dextery/generator.rb, line 27 def self.copy_bootstrap(path) template_path = File.join(File.expand_path('..', __FILE__), 'template', '/') Dextery.logger.info "Setup blog using bootstrap.. Start" system( "cp -r #{template_path} #{path}") Dextery.logger.info "Setup blog using bootstrap.. Complete" end
notify_success()
click to toggle source
# File lib/dextery/generator.rb, line 34 def self.notify_success # We can do something really cool here, # something like ASCII art, for now let's just # log it. Dextery.logger.info "I am a very neat monster" end
preserve_source_location?(path, options)
click to toggle source
# File lib/dextery/generator.rb, line 17 def self.preserve_source_location?(path, options) !options[:force] && !Dir["#{path}/**/*"].empty? end