Ho un app Sinatra che, bollito giù, appare sostanzialmente in questo modo:Come definire un metodo da chiamare dal blocco configure di un'applicazione sinatra modulare?
class MyApp < Sinatra::Base
configure :production do
myConfigVar = read_config_file()
end
configure :development do
myConfigVar = read_config_file()
end
def read_config_file()
# interpret a config file
end
end
Purtroppo, questo non funziona. Ottengo undefined method read_config_file for MyApp:Class (NoMethodError)
La logica in read_config_file
non è banale, quindi non voglio duplicare in entrambi. Come posso definire un metodo che può essere chiamato da entrambi i miei blocchi di configurazione? O sto semplicemente affrontando questo problema in modo completamente sbagliato?
Brillante! Che funzioni. Ora devo andare a leggere un libro rubino per scoprire che diavolo c'è la differenza tra 'def methodname' e' def self.methodname', che è una nuova sintassi per me. – Seldo