X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=File.js;h=2726e0ebd5aea9feaaee9243ad3cbe543d9f6c8c;hb=e39cfe56bed8c2713fd2e8c13ad2323a744c527e;hp=2a7ab50f53b76de438bf7a968cd4d138e583fd96;hpb=d603cf25f9212a48c8fdc908e8d9ce8b4e6f92a3;p=app.Builder.js diff --git a/File.js b/File.js index 2a7ab50f5..2726e0ebd 100644 --- a/File.js +++ b/File.js @@ -22,20 +22,41 @@ var File = { SEPARATOR : '/', - join : function () { - // fixme! - imports['String.js'].load(String); + // fixme - this needs a bitter location.. + // they where in a string class before, but overriding String methods is not a good normally a good idea.. + + rtrim : function (s,toTrim) { + if (s.substr(s.length - toTrim.length) == toTrim) { + return s.slice(0, s.length - toTrim.length); + } + + return s; + }, + trim : function (s,toTrim) { + var out = s.ltrim(toTrim); + out = out.rtrim(toTrim); + return out; + }, + + ltrim : function (s, toTrim) { + if (s.substr(0, toTrim.length) == toTrim) { + return s.slice(toTrim.length); + } + return s; + }, + + join : function () { var out = ""; for (var i = 0; i < arguments.length; i++) { if (i == 0) { - out += arguments[i].rtrim(File.SEPARATOR); + out += this.rtrim(arguments[i], File.SEPARATOR); } else if (i == arguments.length - 1) { - out += File.SEPARATOR + arguments[i].ltrim(File.SEPARATOR); + out += File.SEPARATOR + this.ltrim(arguments[i], File.SEPARATOR); } else { - out += File.SEPARATOR + arguments[i].trim(File.SEPARATOR); + out += File.SEPARATOR + this.trim(arguments[i], File.SEPARATOR); } } return out; @@ -107,10 +128,13 @@ var File = { * */ write : function (path, string) { + var d = new Date(); var f = Gio.file_new_for_path(String(path)); var data_out = new Gio.DataOutputStream({base_stream:f.replace(null, false, Gio.FileCreateFlags.NONE, null)}); data_out.put_string(string, null); data_out.close(null); + print("WRITE : " + path + " in " + ((new Date()) - d) + 'ms'); + }, /** * append