我正在为Ruby创建一个Rack框架,它在以下内容中运行App::Router
模块:
module App
Router = HttpRouter.new do
get('/') { |env| erb('home') }
end
end
请注意我希望在路由器中使用的erb()
方法。问题是将方法从外部源(我的框架)转换为模块并传递到内部的do
块中。
是否有可能将外部源模块转换为另一个文件中的模块?
感谢。
答案 0 :(得分:2)
module App
def foo
"bar"
end
end
module Route
include App
end
include Route
foo
=> "bar"
答案 1 :(得分:2)
erb是你在某处定义的方法吗?尝试这样的事情:
require 'path/to/module/with/erb_method'
module App
include YourModule
Router = HttpRouter.new do
get('/') { |env| erb('home') }
end
end