Sha256: 6371380551dbab348e5c68b41127165bdeed7f5f71856ed1f55a5e9fb6895c5c
Contents?: true
Size: 1.5 KB
Versions: 2
Compression:
Stored size: 1.5 KB
Contents
class File # Regexp to split path into dirname, basename and extname PATH_RE = /^(.+\/(?!$)|\/)?((?:.+?)?(\.[^.]*)?)$/ def self.expand_path(path, base = undefined) %x{ if (!base) { base = ''; } path = #{ join(base, path) }; var parts = path.split('/'), result = [], path; for (var i = 0, ii = parts.length; i < ii; i++) { part = parts[i]; if (part === '..') { result.pop(); } else if (part === '.' || part === '') { // ignore? } else { result.push(part); } } return result.join('/'); } end def self.join(*paths) %x{ var result = []; for (var i = 0, length = paths.length; i < length; i++) { var part = paths[i]; if (part != '') { result.push(part); } } return result.join('/'); } end def self.dirname(path) %x{ var dirname = #{PATH_RE}.exec(path)[1]; if (!dirname) { return '.'; } else if (dirname === '/') { return dirname; } else { return dirname.substring(0, dirname.length - 1); } } end def self.extname(path) %x{ var extname = #{PATH_RE}.exec(path)[3]; if (!extname || extname === '.') { return ''; } else { return extname; } } end def self.basename(path, suffix) "" end def self.exist?(path) `!!factories[#{ expand_path path }]` end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
opal-0.3.21 | core/file.rb |
opal-0.3.19 | core/file.rb |