Sha256: 028a5b4558e068d7f0853a2acc2e7965f8fcef6f7fc174d8f3141d5369d77826

Contents?: true

Size: 1.29 KB

Versions: 1

Compression:

Stored size: 1.29 KB

Contents

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sct-0.1.2 lib/sct/sct_folder.rb