定义一个继承自Rack :: Builder的类

时间:2012-01-15 16:57:58

标签: ruby rack

我正在尝试为我正在构建的gem构建一个Server类。这可以定义call (env),这将使它成为一个机架应用程序。但是,我想根据我的需要使用Rack::Builder并映射不同类型的网址。

我不知道如何解释这个但是有没有办法从Rack :: Builder或其他东西继承?我想将URL映射隔离到自己的方法中,这样我就可以测试它们了在一个班级中,为了给它带来意义和孤立。

谢谢。

1 个答案:

答案 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