Sha256: 91644048ed4cdbb65fb0b1bdf2197fefd708af1610e488204b2f3a23822a00c7

Contents?: true

Size: 1 KB

Versions: 2

Compression:

Stored size: 1 KB

Contents

# frozen_string_literal: true

require 'active_support/core_ext/object/blank'
require 'colorize'
require 'pathname'

module Branch
  module Name
    module Locatable
      module_function

      def home_folder
        Dir.home
      end
      alias global_folder home_folder
      singleton_class.alias_method :global_folder, :home_folder

      def local_folder
        Dir.pwd
      end

      def system_folder
        system_folder = Pathname.new('/')
        unless system_folder.exist? && system_folder.directory?
          puts "WARNING: system folder #{system_folder} does not exist, " \
               "using global folder instead (#{global_folder})".red

          return global_folder
        end
        system_folder.to_s
      end

      def project_folder(options: {})
        return home_folder if options.blank?

        home_folder
      end

      def system_folder_equals_global_folder?
        syetem_folder == global_folder
      end

      def temp_folder
        Dir.tmpdir
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
branch-name-2.2.0 lib/branch/name/locatable.rb
branch-name-2.1.0 lib/branch/name/locatable.rb