From 5202e846dea13ca542f8ac846af27890620a8a0e Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Thu, 7 Mar 2013 18:20:29 -0800 Subject: [PATCH] Remove $native.write() --- native/v8_extensions/native.mm | 28 +--------------------------- package.json | 3 ++- src/stdlib/fs.coffee | 4 +++- 3 files changed, 6 insertions(+), 29 deletions(-) diff --git a/native/v8_extensions/native.mm b/native/v8_extensions/native.mm index c566ce386..237ce6c05 100644 --- a/native/v8_extensions/native.mm +++ b/native/v8_extensions/native.mm @@ -24,7 +24,7 @@ namespace v8_extensions { void Native::CreateContextBinding(CefRefPtr context) { const char* methodNames[] = { - "read", "write", "absolute", + "read", "absolute", "remove", "writeToPasteboard", "readFromPasteboard", "quit", "watchPath", "unwatchPath", "getWatchedPaths", "unwatchAllPaths", "move", "moveToTrash", "reload", "md5ForPath", "getPlatform", "setWindowState", "getWindowState", "isMisspelled", @@ -70,32 +70,6 @@ namespace v8_extensions { return true; } - else if (name == "write") { - NSString *path = stringFromCefV8Value(arguments[0]); - NSString *content = stringFromCefV8Value(arguments[1]); - - NSFileManager *fm = [NSFileManager defaultManager]; - - // Create parent directories if they don't exist - BOOL exists = [fm fileExistsAtPath:[path stringByDeletingLastPathComponent] isDirectory:nil]; - if (!exists) { - [fm createDirectoryAtPath:[path stringByDeletingLastPathComponent] withIntermediateDirectories:YES attributes:nil error:nil]; - } - - NSError *error = nil; - BOOL success = [content writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error]; - - if (error) { - exception = [[error localizedDescription] UTF8String]; - } - else if (!success) { - std::string exception = "Cannot write to '"; - exception += [path UTF8String]; - exception += "'"; - } - - return true; - } else if (name == "absolute") { NSString *path = stringFromCefV8Value(arguments[0]); diff --git a/package.json b/package.json index 940117789..e6ab7711e 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "dependencies": { "coffee-script": "1.5", "ctags": "0.1.0", - "oniguruma": "0.4.0" + "oniguruma": "0.4.0", + "mkdirp": "0.3.5" }, "scripts": { diff --git a/src/stdlib/fs.coffee b/src/stdlib/fs.coffee index 08bd7fcc8..1bc2ff4d0 100644 --- a/src/stdlib/fs.coffee +++ b/src/stdlib/fs.coffee @@ -3,6 +3,7 @@ _ = require 'underscore' nodeFs = nodeRequire 'fs' +mkdirp = nodeRequire 'mkdirp' module.exports = # Make the given path absolute by resolving it against the @@ -102,7 +103,8 @@ module.exports = # Open, write, flush, and close a file, writing the given content. write: (path, content) -> - $native.write(path, content) + mkdirp.sync(@directory(path)) + nodeFs.writeFileSync(path, content) makeDirectory: (path) -> nodeFs.mkdirSync(path)