lib/fontist/import/create_formula.rb in fontist-1.13.2 vs lib/fontist/import/create_formula.rb in fontist-1.14.0

- old
+ new

@@ -53,14 +53,34 @@ Fontist::Utils::Downloader.download(url, progress_bar: true).path end def save(builder) - filename = Import.name_to_filename(builder.name) - path = @options[:formula_dir] ? File.join(@options[:formula_dir], filename) : filename + path = vacant_path yaml = YAML.dump(Helpers::HashHelper.stringify_keys(builder.formula)) File.write(path, yaml) path + end + + def vacant_path + path = path_from_name + return path unless @options[:keep_existing] && File.exist?(path) + + 2.upto(9) do |i| + candidate = path.sub(/\.yml$/, "#{i}.yml") + return candidate unless File.exist?(candidate) + end + + raise Errors::GeneralError, "Formula #{path} already exists." + end + + def path_from_name + filename = Import.name_to_filename(builder.name) + if @options[:formula_dir] + File.join(@options[:formula_dir], filename) + else + filename + end end end end end