summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/win32.rb
diff options
context:
space:
mode:
authorBenjamin Sanders <ben@Benjamins-MacBook-Pro.local>2025-10-11 10:34:24 -0400
committerBenjamin Sanders <ben@Benjamins-MacBook-Pro.local>2025-10-11 10:34:24 -0400
commit5571dc766e2143e39762ff0b47c41d1c2e154f4c (patch)
treef4f124d314a7e76c04484515aa0fd1f2e271a601 /vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/win32.rb
parent359f3309c97fc894b63e0a295c76ab298504d635 (diff)
Vendor bundled gems for deployment
Diffstat (limited to 'vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/win32.rb')
-rw-r--r--vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/win32.rb51
1 files changed, 51 insertions, 0 deletions
diff --git a/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/win32.rb b/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/win32.rb
new file mode 100644
index 0000000..6e62031
--- /dev/null
+++ b/vendor/bundle/ruby/3.4.0/gems/rake-13.3.0/lib/rake/win32.rb
@@ -0,0 +1,51 @@
+# frozen_string_literal: true
+require "rbconfig"
+
+module Rake
+ # Win 32 interface methods for Rake. Windows specific functionality
+ # will be placed here to collect that knowledge in one spot.
+ module Win32 # :nodoc: all
+
+ # Error indicating a problem in locating the home directory on a
+ # Win32 system.
+ class Win32HomeError < RuntimeError
+ end
+
+ class << self
+ # True if running on a windows system.
+ def windows?
+ RbConfig::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw|[Ww]indows)!
+ end
+
+ # The standard directory containing system wide rake files on
+ # Win 32 systems. Try the following environment variables (in
+ # order):
+ #
+ # * HOME
+ # * HOMEDRIVE + HOMEPATH
+ # * APPDATA
+ # * USERPROFILE
+ #
+ # If the above are not defined, the return nil.
+ def win32_system_dir #:nodoc:
+ win32_shared_path = ENV["HOME"]
+ if win32_shared_path.nil? && ENV["HOMEDRIVE"] && ENV["HOMEPATH"]
+ win32_shared_path = ENV["HOMEDRIVE"] + ENV["HOMEPATH"]
+ end
+
+ win32_shared_path ||= ENV["APPDATA"]
+ win32_shared_path ||= ENV["USERPROFILE"]
+ raise Win32HomeError,
+ "Unable to determine home path environment variable." if
+ win32_shared_path.nil? or win32_shared_path.empty?
+ normalize(File.join(win32_shared_path, "Rake"))
+ end
+
+ # Normalize a win32 path so that the slashes are all forward slashes.
+ def normalize(path)
+ path.gsub(/\\/, "/")
+ end
+
+ end
+ end
+end