module Sct class SctFolder FOLDER_NAME = "sct" def self.path value ||= "./#{FOLDER_NAME}/" if File.directory?("./#{FOLDER_NAME}/") value ||= "./.#{FOLDER_NAME}/" if File.directory?("./.#{FOLDER_NAME}/") # hidden folder value ||= "./" if File.basename(Dir.getwd) == FOLDER_NAME && File.exist?('Sctfile') # inside the folder value ||= "./" if File.basename(Dir.getwd) == ".#{FOLDER_NAME}" && File.exist?('Sctfile') # inside the folder and hidden return value end def self.Sctfile_path return nil if self.path.nil? path = File.join(self.path, 'Sctfile') return path if File.exist?(path) return nil end # Does a Sct configuration already exist? def self.setup? return false unless self.Sctfile_path File.exist?(self.Sctfile_path) end def self.create_folder!(path = nil) path = File.join(path || '.', FOLDER_NAME) return if File.directory?(path) # directory is already there puts "Found a folder called 'Sct' at path '#{path}', please delete it" if File.exist?(path) FileUtils.mkdir_p(path) puts "Created new folder '#{path}'." end end end