You don't need to make a framework or bundle to add Obj-C code to your project. 
I've been able to just add a .h/.m files directly to the project and call the 
Obj-C classes contained therein from my MacRuby code, just as if those classes 
were part of a framework.

What you can't do, of course, is call straight C functions or constants without 
a bridgesupport file.

Jim


On Oct 21, 2012, at 12:59 PM, Mark Rada <mr...@marketcircle.com> wrote:

Adding some Objective-C code could be done with a framework as suggested, or by 
creating a bundle. The bundle process is essentially the same as creating a C 
extension for Ruby. Any MacRuby project with a C extension could be used as an 
example:

https://github.com/pieter/macruby-bundle-example
https://github.com/Marketcircle/AXElements/tree/master/ext/accessibility/key_coder
https://github.com/alloy/ObjectiveBacon/tree/master/LanguageBindings/MacRuby/ext

You can then simply "require 'bundle'" the bundle file that is compiled.


On 2012-10-21, at 12:44 PM, Colin Thomas-Arnold <coli...@gmail.com> wrote:

> You can certainly compile a group of stuff as a framework, and add that 
> framework to your project, but I've never tried to just toss in .h/.m files 
> and access them from macruby.
> 
> Can anyone touch on that?  I'm interested to hear what can be done there...
> 
> 
> AFA translating your code into Obj-C...
> 
> 
> Here's the short version:
> 
> self.context = [[NSGraphics currentContext] graphicsPort];
> 
> 
> 
> And here's the long version!
> 
> 
> // the header file, YourClass.h
> 
> @interface YourClass : ParentClass
> 
> @property (assign, nonatomic) CGContextRef context;
> // or void* instead of CGContextRef, but graphicsPort returns a CGContextRef
> 
> @end
> 
> 
> 
> // the implementation file, YourClass.m
> 
> #import "YourClass.h"
> 
> @implementation YourClass
> 
> @synthesize context;
> 
> - drawRect:(CGRect)rect
> {
>   self.context = [[NSGraphics currentContext] graphicsPort];
> }
> 
> @end
> 
> 
> 
> 
> @colinta
> colinta.com
> github.com/colinta
> 
> 
> 
> 
> On Oct 21, 2012, at 10:19 AM, Robert Carl Rice wrote:
> 
>> Hi Mark,
>> 
>> Unfortunately, I am not very familiar with objective C syntax. Is it easy to 
>> mix objective C statements with MacRuby?
>> For example, How would code the @context = 
>> NSGraphicsContext.currentContext.graphicsPort in objective C?
>> 
>> Thanks,
>> Bob Rice
> 
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel@lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo/macruby-devel

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macruby-devel

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo/macruby-devel

Reply via email to