lib/picky-generators/generators/base.rb in picky-generators-1.1.1 vs lib/picky-generators/generators/base.rb in picky-generators-1.1.2

- old
+ new

@@ -19,13 +19,17 @@ attr_reader :identifier, :name, :prototype_basedir def initialize identifier, name, prototype_path, *args @identifier = identifier @name = name - @prototype_basedir = File.expand_path "../../../../prototypes/#{prototype_path}", __FILE__ + @prototype_basedir = expand_prototype_path prototype_path end + def expand_prototype_path prototype_path + File.expand_path "../../../../prototypes/#{prototype_path}", __FILE__ + end + # # def create_target_directory if File.exists?(target_directory) exists target_directory @@ -38,22 +42,22 @@ # # def copy_all_files from = nil all_prototype_files(from).each do |filename| next if filename.match(/\.textile$/) - copy_single_file filename + copy_single_file filename, from end end # # - def target_filename_for filename - filename.gsub(%r{#{prototype_basedir}}, target_directory) + def target_filename_for filename, from = nil + filename.gsub(%r{#{from || prototype_basedir}}, target_directory) end # # - def copy_single_file filename - target = target_filename_for filename + def copy_single_file filename, from = nil + target = target_filename_for filename, from if File.exists? target exists target else smart_copy filename, target end \ No newline at end of file