Sha256: f439f8a210bc78dc35c775d9cffd293ecd473a44c4f74050b8117a376a64a1d4
Contents?: true
Size: 1.74 KB
Versions: 2
Compression:
Stored size: 1.74 KB
Contents
# frozen_string_literal: true require 'fileutils' require_relative 'locatable' module Branch module Name module Projectable include Locatable def create_project!(branch_name) raise 'options[:project] is false' unless options[:project] project_folder = project_folder_for branch_name if Dir.exist? project_folder puts "Project folder \"#{project_folder}\" already exists" create_project_files!(project_folder) return end FileUtils.mkdir_p(project_folder) create_project_files!(project_folder) project_files = options[:project_files] if project_files.blank? puts "Project folder \"#{project_folder}\" was created.".green else puts "Project folder \"#{project_folder}\" was created with project files:".green project_files.each do |project_file| puts "- #{project_file}".green end end end def create_project_files!(project_folder) raise 'options[:project] is false' unless options[:project] raise "Project folder \"#{project_folder}\" does not exist" unless Dir.exist? project_folder project_files = options[:project_files] return if project_files.blank? project_files.each do |project_file| full_file_name = File.join(project_folder, project_file) next if File.exist? full_file_name FileUtils.touch full_file_name puts "Created project file \"#{full_file_name}\"" if options[:verbose] end end def project_folder_for(branch_name) project_location = Time.new.strftime(options[:project_location]) "#{project_location}/#{branch_name}" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
branch-name-3.5.0 | lib/branch/name/projectable.rb |
branch-name-3.4.0 | lib/branch/name/projectable.rb |