[MacRuby] #935: Control Tower won't run Objective-C Rack App
#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/>
#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 -----------------------------+---------------------------------------------- Description changed by lsansonetti@…: Old description:
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.
New description: 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#comment:1> MacRuby <http://macruby.org/>
#935: Control Tower won't run Objective-C Rack App -----------------------------+---------------------------------------------- Reporter: lp@… | Owner: joshua.ballanco@… Type: defect | Status: new Priority: major | Milestone: Component: ControlTower | Keywords: control_tower framework -----------------------------+---------------------------------------------- Changes (by lsansonetti@…): * milestone: MacRuby 0.8 => Comment: I get an error when starting the server: {{{ $ DYLD_LIBRARY_PATH=. ./macruby /usr/bin/control_tower -R test.ru /Users/lrz/src/macruby-trunk/(eval):1:in `block': uninitialized constant Rack::Builder::ObjcRackApp (NameError) from /Library/Frameworks/MacRuby.framework/Versions/0.8/usr/lib/ruby/Gems/1.9.2/gems/rack-1.2.1/lib/rack/builder.rb:46:in `initialize' from /Users/lrz/src/macruby-trunk/(eval):1:in `<main>' from /Library/Frameworks/MacRuby.framework/Versions/0.8/usr/lib/ruby/Gems/1.9.2/gems/control_tower-1.0/bin/control_tower:5:in `<main>' from /usr/bin/control_tower:9:in `<main>' }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/935#comment:2> MacRuby <http://macruby.org/>
participants (1)
-
MacRuby