1
我們希望有一些維護任務可以利用路由或幫助程序中使用的代碼。在Sinatra中,在路線和耙子任務之間共享代碼?
在模塊化Sinatra應用程序中完成此操作的最佳方法是什麼?
例如,我們有一個郵件程序。我們希望它從一條路線被調用。但我們也希望定期發送來自rake任務的計劃電子郵件。
我們希望有一些維護任務可以利用路由或幫助程序中使用的代碼。在Sinatra中,在路線和耙子任務之間共享代碼?
在模塊化Sinatra應用程序中完成此操作的最佳方法是什麼?
例如,我們有一個郵件程序。我們希望它從一條路線被調用。但我們也希望定期發送來自rake任務的計劃電子郵件。
重構普通代碼模塊(或類)到不同的源文件:
# mailer.rb
module Mailer
def common_method0
end
def common_method1
end
end
在你西納特拉的應用程序,需要mailer.rb,它需要的地方你的模塊中混合:
require_relative 'mailer'
# ...
helpers do
include Mailer
# other helpers
end
在你耙的任務,做同樣的:
# Rakefile
require_relative 'mailer'
include Mailer
task :mailer do
common_method0
# ...
end