我正在尝试为我正在构建的gem构建一个Server
类。这可以定义call (env)
,这将使它成为一个机架应用程序。但是,我想根据我的需要使用Rack::Builder
并映射不同类型的网址。
我不知道如何解释这个但是有没有办法从Rack :: Builder或其他东西继承?我想将URL映射隔离到自己的方法中,这样我就可以测试它们了在一个班级中,为了给它带来意义和孤立。
谢谢。
答案 0 :(得分:3)
您不需要继承Rack :: Builder。你可以这样做。
config.ru
class WrapperClass
def call(env)
#your_url_mapping_logic env
YourApp.new.call(env)
end
end
run WrapperClass.new
或
class WrapperClass
def call(env)
#your_url_mapping_logic env
#your app logic
# ....
[status, header, body]
end
end
run WrapperClass.new