module Nuggets::Env::UserHomeMixin

Public Instance Methods

user_home([default]) → aString click to toggle source

Returns the user's home directory, or default if it could not be found.

   # File lib/nuggets/env/user_home_mixin.rb
35 def user_home(default = ::File::ALT_SEPARATOR ? 'C:/' : '/')
36   begin
37     return ::Dir.home
38   rescue ::ArgumentError
39     # "couldn't find HOME environment -- expanding `~'"
40   end if ::Dir.respond_to?(:home)
41 
42   %w[HOME HOMEDRIVE:HOMEPATH USERPROFILE APPDATA].each { |key|
43     home = values_at(*key.split(':')).join
44     return home.gsub(/\\/, '/') if home && !home.empty?
45   }
46 
47   begin
48     ::File.expand_path('~')
49   rescue ::ArgumentError
50     default
51   end
52 end