[MacRuby-devel] Requirements for Interface Builder to correctly parse MacRuby files?

Laurent Sansonetti lsansonetti at apple.com
Mon Feb 1 20:14:52 PST 2010


Hi Paul,

In theory, splitting files should not be an issue. Keep in mind that  
the IB parser is very rudimentary at the moment (we are working on a  
much better solution for a future release), so if you define classes  
into modules it may not work.

A good way to know exactly what IB will read is to call the parser by  
yourself, manually, from the command line:

$ /Developer/usr/bin/rb_nibtool -f MyController.rb

You should see on the terminal a property list, basically an array of  
dictionaries, each one being a class with outlets/actions sub- 
dictionaries.

Laurent

On Feb 1, 2010, at 6:53 PM, Paul Howson wrote:

> Hello Laurent et al,
>
> In an attempt to ease code management for a large document class, I  
> split the code for my NSDocument subclass into a number of separate  
> Ruby files. e.g. MyDocument-base.rb, MyDocument-commands.rb, and so  
> on, reopening the Ruby class and adding more methods in each file.
>
> When the class was in a single source file (eg. MyDocument.rb),  
> Interface Builder would correctly parse this and recognise outlets  
> and action methods.
>
> Splitting the class into separate files had the effect of causing  
> Interface Builder to no longer recognise outlets and action methods.
>
> Can you please explain how and when IB parses Ruby source files and  
> why splitting a class into separate files breaks the parsing?
>
> Is this documented somewhere?
>
> Any suggestions for a way around this?
>
> Thanks,
> Paul Howson
> Queensland Australia
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel



More information about the MacRuby-devel mailing list