diff options
Diffstat (limited to 'mrbgems/mruby-io')
| -rw-r--r-- | mrbgems/mruby-io/mrblib/file.rb | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/mrbgems/mruby-io/mrblib/file.rb b/mrbgems/mruby-io/mrblib/file.rb index 710333d6f..d3a4b1ec7 100644 --- a/mrbgems/mruby-io/mrblib/file.rb +++ b/mrbgems/mruby-io/mrblib/file.rb @@ -55,46 +55,46 @@ class File < IO s end - def self.expand_path(path, default_dir = '.') - def concat_path(path, base_path) - if path[0] == "/" || path[1] == ':' # Windows root! - expanded_path = path - elsif path[0] == "~" - if (path[1] == "/" || path[1] == nil) - dir = path[1, path.size] - home_dir = _gethome - - unless home_dir - raise ArgumentError, "couldn't find HOME environment -- expanding '~'" - end - - expanded_path = home_dir - expanded_path += dir if dir - expanded_path += "/" - else - splitted_path = path.split("/") - user = splitted_path[0][1, splitted_path[0].size] - dir = "/" + splitted_path[1, splitted_path.size].join("/") + def self._concat_path(path, base_path) + if path[0] == "/" || path[1] == ':' # Windows root! + expanded_path = path + elsif path[0] == "~" + if (path[1] == "/" || path[1] == nil) + dir = path[1, path.size] + home_dir = _gethome + + unless home_dir + raise ArgumentError, "couldn't find HOME environment -- expanding '~'" + end - home_dir = _gethome(user) + expanded_path = home_dir + expanded_path += dir if dir + expanded_path += "/" + else + splitted_path = path.split("/") + user = splitted_path[0][1, splitted_path[0].size] + dir = "/" + splitted_path[1, splitted_path.size].join("/") - unless home_dir - raise ArgumentError, "user #{user} doesn't exist" - end + home_dir = _gethome(user) - expanded_path = home_dir - expanded_path += dir if dir - expanded_path += "/" + unless home_dir + raise ArgumentError, "user #{user} doesn't exist" end - else - expanded_path = concat_path(base_path, _getwd) - expanded_path += "/" + path - end - expanded_path + expanded_path = home_dir + expanded_path += dir if dir + expanded_path += "/" + end + else + expanded_path = _concat_path(base_path, _getwd) + expanded_path += "/" + path end - expanded_path = concat_path(path, default_dir) + expanded_path + end + + def self.expand_path(path, default_dir = '.') + expanded_path = _concat_path(path, default_dir) drive_prefix = "" if File::ALT_SEPARATOR && expanded_path.size > 2 && ("A".."Z").include?(expanded_path[0].upcase) && expanded_path[1] == ":" |
