【发布时间】:2013-03-14 08:07:52
【问题描述】:
我有一个小型 Sinatra 项目,我需要覆盖 Rack::Auth::Basic#valid?。目前我已将此覆盖放在我的应用程序的主文件中,但随着事情变得越来越大,这似乎使源代码变得混乱......
require "sinatra/base"
module Rack::Auth
class Basic
def valid?(auth)
# My overrides go here...
end
end
end
class App < Sinatra::Base
use Rack::Auth::Basic, "CustomRealm" do |username, password|
# Authentication
end
get "/" do
erb :index
end
end
我想将覆盖移动到外部文件。我的项目结构类似于
* views
|------ index.erb
* config.ru
* app.rb
* README.md
* LICENSE.md
* Gemfile
* Gemfile.lock
我可以在哪里移动 Rack::Auth 覆盖,以便我可以从 app.rb 内部使用它们?我曾尝试将它们放在lib/rack/auth/basic.rb 上,但这根本不起作用...... Sinatra 对此的标准是什么?
【问题讨论】: