RubyCocoa 0.13.2


I am honored to announce the immediate release of RubyCocoa 0.13.2.

RubyCocoa is a Mac OS X framework that allows Cocoa programming in the
object-oriented scripting language Ruby. In other words, it is a
bridge that let you access Objective-C objects from Ruby, and

You can learn more about RubyCocoa on our website:

A source tarball as well as binary installers for Mac OS X 10.4 and
10.5 are provided.

This is mostly a bugs fix release, addressing a few critical issues. A
few enhancements are nevertheless available as well. All users are
encouraged to upgrade, and report us feedback.

Mac OS X 10.5, Leopard, is as you can see supported by this release.
Installing this release using the binary installer or manually with
the default build parameters won’t override the system version of
RubyCocoa that ships with Leopard, it will go in /Library while the
system version is in /System.

(Very recently, the system version of RubyCocoa in Mac OS X 10.5 was
updated to 0.13.1, via the 10.5.2 software update.)

The release notes are following. Enjoy!


New features:

  • New sample: Growl.
  • New NSSize methods: #/, #*, #+, #-
  • New NSPoint methods: #+, #-
  • ActiveRecordSetController now allows to destroy a multiple selection.

Bug fixes:

  • Fixed a bug when direct-overriding a method in a subclass of an
    Objective-C class that implements the method.
  • Fixed a bug when returning C array (CARY) in struct.
  • Migrated from STR2CSTR() to StringValuePtr().
  • Marked some local VALUE variables as volatile to make sure they will
    stay on stack and won’t be collected by mistake.
  • Made NSNumber#float? deprecated and added integer? to conform to
  • Fixed a bug, NSString#scan(regexp){block} passed String to its block
    argument. It should be NSString.
  • Fixed a bug, NSString#split returned an array contains immutable
    NSString sometimes.
  • Fixed a bug, NSArray#delete always yielded a block.
  • NSNumber#to_f should use doubleValue.
  • ActiveRecord: Made speed improvements in the way records in a has
    many association are created.
  • ActiveRecord: Fixed a bug where calling #to_activerecord_proxy on
    the same record object would return a new different proxy object and
    thus resulting in a kvo error. The proxy instance is now cached in the
    record itself.
  • ActiveRecord: Fixed bug on case-sensitive filesystems where
    ‘FileUtils’ was required instead of ‘fileutils’.
  • gen_bridge_doc: updated to read latest Apple docs.
  • Fixed a build problem, libffi should be built always for
  • Build process is now able to generate a release package for Tiger on
  • Cannot handle objc types with qualifiers such as (in|out|inout).
  • Removed ENV[‘BRIDGE_SUPPORT_PATH’]= debug calls in samples.
  • Resume caching method arguments of objc callbacks.