We are pleased to announce the second release of Rucola today.
This release has some major enhancements and therefore uses the new
We’re happy to announce that Chris McGrath & Satoshi N. have
joined the team.
Chris added the foundation for ActiveRecord usage with Rucola. (No
fixtures etc yet.)
And Satoshi-san uses the crash reporter plugin in his excellent
RubyCocoa based irc client LimeChat,
for which he has provided lots of patches.
Also there’s support for autotest and some plugins.
And lots of other improvements.
A Framework for building Cocoa applications in Ruby
Rucola is a light weight framework that helps you write RubyCocoa apps.
It allows you to build, test, and deploy applications using rake
eliminating the need to use XCode, however you can use XCode if you
Rucola provides a set of generators to help you generate controllers,
and document-based applications. It also provides APIs for simplifying
some of Objective-Câ€™s
ways of doing things.
Initializer: Spec’d the class methods of Initializer.
Initializer: Change initializer to check if environment is release
rather than debug so that we can have the same setup for debug and
test. Fixes problem when AR plugin installed in app.
Plugin: Added script/generate rucola_plugin for rucola apps
Plugin: Add the initial Plugin code and hook it into the initializer
Plugin: Added Plugin#after_launch which uses a PluginRunner class
that uses NSNotifications to run plugin hooks after the application
Notifications: Added a helper for firing notifications.
Notifications: Moved notification name resolution to a separate
method, and don’t raise NameErrors when the constant doesn’t exist.
Support: Added Rucola::InfoPlist#app_name & Rucola::RCApp#app_name
which return the CFBundleExecutable value from the Info.plist file.
Testing: Added the code to make autotest play nice with a rucola app!!
Testing: Added autotest sound plugin, original idea from: Jeremy
Testing: Added autotest images plugin, copyright: John Nunemaker.
Testing: Added useful skeleton tests using test/spec and mocha.
Testing: Added a few more test helpers which provide a shortcut for
getting ivars (ib_outlets).
InitializeHooks: The initialize_hooks will now call #after_init on
an instance if it exists. This is so that #init doesn’t have to be
overriden to setup defaults etc.
Generator: Updated the generators with better banners.
Generator: The document_model_generator will not longer run if no
extension is specified, but rather display the usage banner.
Nib: Fixed bugs where destructive methods were called on immutable
objects. This was a change in RubyCocoa.
Nib: Nib#add_class now takes an optional superclass.
Rake: Fixed a bug in the xcode rake task where the local var
‘executable’ was not passed explicitly into the thread. So the app
would sometimes not come to the front.
Rake: The rake test task will now print with the -rr pretty test/
Rake: Modified xcode:build rake task to do xcodebuild everytime.
Otherwise changes in the nibs will not be reflected in the app bundle.
Rake: Make main.rake load tasks from vendor/plugins//tasks/.rake
AR: Add basic ActiveRecord model, proxy and migration generator.
AR: The AR generator also adds the proxy and
ActiveRecordSetController to the specified nibs.
AR: Move the ActiveRecord code into a rucola_activerecord plugin
AR: Added support for migrations and other AR tasks
Samples: Added another simple sample app (Leecher) which simply
downloads files and displays the progress.
SACrashReporter: Fixed bug if ~/Library/Logs/CrashReporter doesn’t
SACrashReporter: Fixed bug in the crash log naming style on 10.5.
SACrashReporter: The crash reporter will never be ran if it’s the
very first time.
SACrashReporter: Replaced the http posting with the cocoa equivalent
and display message while the reporter is doing the post.
SACrashReporter: On Leopard every crash is logged in an individual
file, now reads and writes those too.
SACrashReporter: SACrashReporter/init.rb now uses the new Plugin
system to alter Initializer.do_boot and run SACrashReporter.submit
after the application has started.
Rucola TM Bundle: Going to the view from the application controller
will now open the MainMenu.nib in IB.