Определите класс, который наследуется от Rack :: Builder - PullRequest
2 голосов
/ 15 января 2012

Я пытаюсь создать класс Server для драгоценного камня, который я строю.Это может определить call (env), что сделает его стоечным приложением.Тем не менее, я хочу использовать Rack::Builder и отображать различные типы URL-адресов в соответствии с моими потребностями.

Я не уверен, как это объяснить, но есть ли способ наследовать от Rack ::Builder или еще что-то? Я хочу изолировать сопоставления URL-адресов в свои собственные методы, чтобы я мог проверить их в одном классе, чтобы придать ему смысл и изоляцию.

Спасибо.

1 Ответ

3 голосов
/ 15 января 2012

Вам не нужно наследовать от 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
...