[macruby-changes] [4111] MacRuby/trunk/misc/xcode-templates/Project Templates/Application/ MacRuby Core Data Application
source_changes at macosforge.org
source_changes at macosforge.org
Mon May 17 12:09:10 PDT 2010
Revision: 4111
http://trac.macosforge.org/projects/ruby/changeset/4111
Author: pthomson at apple.com
Date: 2010-05-17 12:09:08 -0700 (Mon, 17 May 2010)
Log Message:
-----------
Modifying the code to the Core Data template to make it more idiomatic.
Modified Paths:
--------------
MacRuby/trunk/misc/xcode-templates/Project Templates/Application/MacRuby Core Data Application/AppDelegate.rb
MacRuby/trunk/misc/xcode-templates/Project Templates/Application/MacRuby Core Data Application/rb_main.rb
Modified: MacRuby/trunk/misc/xcode-templates/Project Templates/Application/MacRuby Core Data Application/AppDelegate.rb
===================================================================
--- MacRuby/trunk/misc/xcode-templates/Project Templates/Application/MacRuby Core Data Application/AppDelegate.rb 2010-05-15 03:32:10 UTC (rev 4110)
+++ MacRuby/trunk/misc/xcode-templates/Project Templates/Application/MacRuby Core Data Application/AppDelegate.rb 2010-05-17 19:09:08 UTC (rev 4111)
@@ -10,24 +10,19 @@
attr_writer :window
# Returns the support folder for the application, used to store the Core Data
- # store file. This code uses a folder named "MyGreatApp" for
+ # store file. This code uses a folder named "\xC7PROJECTNAME\xC8" for
# the content, either in the NSApplicationSupportDirectory location or (if the
# former cannot be found), the system's temporary directory.
def applicationSupportFolder
paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, true)
- basePath = (paths.count > 0) ? paths[0] : NSTemporaryDirectory()
- return basePath.stringByAppendingPathComponent("\xC7PROJECTNAME\xC8")
+ basePath = paths[0] || NSTemporaryDirectory()
+ basePath.stringByAppendingPathComponent("\xC7PROJECTNAME\xC8")
end
# Creates and returns the managed object model for the application
# by merging all of the models found in the application bundle.
def managedObjectModel
- if @managedObjectModel
- return @managedObjectModel
- end
-
- @managedObjectModel = NSManagedObjectModel.mergedModelFromBundles(nil)
- return @managedObjectModel
+ @managedObjectModel ||= NSManagedObjectModel.mergedModelFromBundles(nil)
end
@@ -36,46 +31,44 @@
# store for the application to it. (The folder for the store is created,
# if necessary.)
def persistentStoreCoordinator
- if @persistentStoreCoordinator
- return @persistentStoreCoordinator
- end
-
- error = Pointer.new_with_type('@')
+ unless @persistentStoreCoordinator
+ error = Pointer.new_with_type('@')
- fileManager = NSFileManager.defaultManager
- applicationSupportFolder = self.applicationSupportFolder
+ fileManager = NSFileManager.defaultManager
+ applicationSupportFolder = self.applicationSupportFolder
- if !fileManager.fileExistsAtPath(applicationSupportFolder, isDirectory:nil)
- fileManager.createDirectoryAtPath(applicationSupportFolder, attributes:nil)
- end
+ unless fileManager.fileExistsAtPath(applicationSupportFolder, isDirectory:nil)
+ fileManager.createDirectoryAtPath(applicationSupportFolder, attributes:nil)
+ end
- url = NSURL.fileURLWithPath(applicationSupportFolder.stringByAppendingPathComponent("\xC7PROJECTNAME\xC8.xml"))
- @persistentStoreCoordinator = NSPersistentStoreCoordinator.alloc.initWithManagedObjectModel(self.managedObjectModel)
- if !@persistentStoreCoordinator.addPersistentStoreWithType(NSXMLStoreType, configuration:nil, URL:url, options:nil, error:error)
- NSApplication.sharedApplication.presentError(error[0])
+ url = NSURL.fileURLWithPath(applicationSupportFolder.stringByAppendingPathComponent("\xC7PROJECTNAME\xC8.xml"))
+ @persistentStoreCoordinator = NSPersistentStoreCoordinator.alloc.initWithManagedObjectModel(self.managedObjectModel)
+ unless @persistentStoreCoordinator.addPersistentStoreWithType(NSXMLStoreType, configuration:nil, URL:url, options:nil, error:error)
+ NSApplication.sharedApplication.presentError(error[0])
+ end
end
- return @persistentStoreCoordinator
+ @persistentStoreCoordinator
end
# Returns the managed object context for the application (which is already
# bound to the persistent store coordinator for the application.)
def managedObjectContext
- return @managedObjectContext if @managedObjectContext
-
- coordinator = self.persistentStoreCoordinator
- if coordinator
- @managedObjectContext = NSManagedObjectContext.alloc.init
- @managedObjectContext.setPersistentStoreCoordinator(coordinator)
+ unless @managedObjectContext
+ coordinator = self.persistentStoreCoordinator
+ if coordinator
+ @managedObjectContext = NSManagedObjectContext.new
+ @managedObjectContext.setPersistentStoreCoordinator(coordinator)
+ end
end
- return @managedObjectContext
+ @managedObjectContext
end
# Returns the NSUndoManager for the application. In this case, the manager
# returned is that of the managed object context for the application.
def windowWillReturnUndoManager(window)
- return self.managedObjectContext.undoManager
+ self.managedObjectContext.undoManager
end
# Performs the save action for the application, which is to send the save:
@@ -83,7 +76,7 @@
# are presented to the user.
def saveAction(sender)
error = Pointer.new_with_type('@')
- if !self.managedObjectContext.save(error)
+ unless self.managedObjectContext.save(error)
NSApplication.sharedApplication.presentError(error[0])
end
end
@@ -95,9 +88,9 @@
error = Pointer.new_with_type('@')
reply = NSTerminateNow
- if self.managedObjectContext
- if self.managedObjectContext.commitEditing
- if self.managedObjectContext.hasChanges and !self.managedObjectContext.save(error)
+ if managedObjectContext
+ if managedObjectContext.commitEditing
+ if managedObjectContext.hasChanges && (not managedObjectContext.save(error))
# This error handling simply presents error information in a panel with an
# "Ok" button, which does not include any attempt at error recovery (meaning,
# attempting to fix the error.) As a result, this implementation will
@@ -123,7 +116,7 @@
end
end
- return reply
+ reply
end
end
Modified: MacRuby/trunk/misc/xcode-templates/Project Templates/Application/MacRuby Core Data Application/rb_main.rb
===================================================================
--- MacRuby/trunk/misc/xcode-templates/Project Templates/Application/MacRuby Core Data Application/rb_main.rb 2010-05-15 03:32:10 UTC (rev 4110)
+++ MacRuby/trunk/misc/xcode-templates/Project Templates/Application/MacRuby Core Data Application/rb_main.rb 2010-05-17 19:09:08 UTC (rev 4111)
@@ -14,9 +14,7 @@
main = File.basename(__FILE__, File.extname(__FILE__))
dir_path = NSBundle.mainBundle.resourcePath.fileSystemRepresentation
Dir.glob(File.join(dir_path, '*.{rb,rbo}')).map { |x| File.basename(x, File.extname(x)) }.uniq.each do |path|
- if path != main
- require(path)
- end
+ require(path) unless path == main
end
# Starting the Cocoa main loop.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100517/920b8244/attachment.html>
More information about the macruby-changes
mailing list