[MacRuby] #935: Control Tower won't run Objective-C Rack App

MacRuby ruby-noreply at macosforge.org
Wed Oct 6 14:22:03 PDT 2010


#935: Control Tower won't run Objective-C Rack App
-----------------------------+----------------------------------------------
 Reporter:  lp@…             |       Owner:  joshua.ballanco@…        
     Type:  defect           |      Status:  new                      
 Priority:  major            |   Milestone:  MacRuby 0.8              
Component:  ControlTower     |    Keywords:  control_tower framework  
-----------------------------+----------------------------------------------
 Loading a Objective-C Rack app inside a framework won't work:

 my Objective-C class:

 __________________________________________
 @implementation ObjcRackApp

 - (NSArray*)call:(NSDictionary *)env {

 return [NSArray arrayWithObjects:

 [NSNumber numberWithInteger:200],

 [NSDictionary dictionaryWithObject:@"text/plain" forKey:@"Content-Type"],

 @"Hello Objc!",

 nil];

 }

 @end

 ________________________________________________


 I can confirm it load and behaves properly with this script:

 ________________________________________________

 framework "ObjcRackApp.framework"

 class Hello
   def call(env)
     [200, { 'Content-Type' => 'text/plain' }, "Hello Control Tower!"]
   end
 end

 env = {"a"=>"hash"}

 arr = ObjcRackApp.alloc.init.call(env)

 puts arr.class
 puts arr[0].class
 puts arr[1].class
 puts arr[2].class

 arr = Hello.new.call(env)

 puts arr.class
 puts arr[0].class
 puts arr[1].class
 puts arr[2].class

 __________________________________________

 which print:
 __________________________________________

 Array
 Fixnum
 Hash
 String
 Array
 Fixnum
 Hash
 String

 __________________________________________

 but when I run:

 __________________________________________

 framework "ObjcRackApp.framework"

 app = ObjcRackApp.alloc.init
 run app

 __________________________________________

 with control_tower -R hello_objc.ru, the server starts without error but I
 get served a blank page in my browser
 attached to this ticket are the used Objective-C framework and my Xcode
 project which built it.

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/935>
MacRuby <http://macruby.org/>



More information about the macruby-tickets mailing list