Module: LibPath::Form::Unix::LibPath_Form_Unix_Methods
- Included in:
- LibPath::Form::Unix, LibPath::Form::Unix
- Defined in:
- lib/libpath/form/unix.rb
Overview
Module defining instance functions that will be included and extended into any class or module including/extending module LibPath::Form::Unix
Instance Method Summary collapse
-
#classify_path(path) ⇒ Object
Classifies a path.
-
#name_is_malformed?(name, **options) ⇒ Boolean
Evaluates whether the given name is malformed.
-
#path_is_absolute?(path) ⇒ Boolean
Evaluates whether the given path is absolute, which means it is either rooted (begins with ‘/’) or is homed (is ‘~’ or begins with ‘~/’).
-
#path_is_homed?(path) ⇒ Boolean
Evaluates whether the given path is homed, which means it is ‘~’ or begins with ‘~/’.
-
#path_is_rooted?(path) ⇒ Boolean
Evalutes whether the given path is rooted, which means it begins with ‘/’.
Instance Method Details
#classify_path(path) ⇒ Object
Classifies a path
Return
One of :absolute
, :homed
, :relative
, for any paths that match precisely those classifications, or nil
if the path is empty
69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/libpath/form/unix.rb', line 69 def classify_path path Diagnostics.check_string_parameter(path, "path") if $DEBUG return nil if path.nil? || path.empty? return :homed if path_is_homed? path return :absolute if path_is_absolute? path :relative end |
#name_is_malformed?(name, **options) ⇒ Boolean
Evaluates whether the given name is malformed
Signature
-
Options:
:reject_path_name_separators
-
(boolean) Reject the path
separator character(s): +'/'+
:reject_path_separators
-
(boolean) Reject the path separator
character(s): +':'+
:reject_shell_characters
-
(boolean) Reject the shell
character(s): +'*'+, +'?'+, +'|'+
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/libpath/form/unix.rb', line 93 def name_is_malformed? name, ** _Constants = ::LibPath::Constants::Unix if name if [:reject_path_name_separators] return true if name =~ _Constants::InvalidCharacters::PathNameSeparators::RE end if [:reject_path_separators] return true if name =~ _Constants::InvalidCharacters::PathSeparators::RE end if [:reject_shell_characters] return true if name =~ _Constants::InvalidCharacters::Shell::RE end return true if name =~ _Constants::InvalidCharacters::Innate::RE false else true end end |
#path_is_absolute?(path) ⇒ Boolean
Evaluates whether the given path is absolute, which means it is either rooted (begins with ‘/’) or is homed (is ‘~’ or begins with ‘~/’)
Signature
-
Parameters:
path
-
(String) The path to be evaluated. May not be
nil
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
# File 'lib/libpath/form/unix.rb', line 130 def path_is_absolute? path Diagnostics.check_string_parameter(path, "path") if $DEBUG case path[0] when '/' true when '~' 1 == path.size || '/' == path[1] else false end end |
#path_is_homed?(path) ⇒ Boolean
Evaluates whether the given path is homed, which means it is ‘~’ or begins with ‘~/’
Signature
-
Parameters:
path
-
(String) The path to be evaluated. May not be
nil
154 155 156 157 158 159 160 161 162 163 164 165 166 |
# File 'lib/libpath/form/unix.rb', line 154 def path_is_homed? path Diagnostics.check_string_parameter(path, "path") if $DEBUG return false unless '~' == path[0] if path.size > 1 return '/' == path[1] end true end |
#path_is_rooted?(path) ⇒ Boolean
Evalutes whether the given path is rooted, which means it begins with ‘/’
Signature
-
Parameters:
path
-
(String) The path to be evaluated. May not be
nil
175 176 177 178 179 180 |
# File 'lib/libpath/form/unix.rb', line 175 def path_is_rooted? path Diagnostics.check_string_parameter(path, "path") if $DEBUG '/' == path[0] end |