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